docker-compose搭建spark集群

基础环境:centos8.1

docker-compose.yml配置文件

version: 2
services:
  master:
    image: bitnami/spark:2.4.3
    container_name: master
    user: root
    environment:
      - SPARK_MODE=master
      - SPARK_RPC_AUTHENTICATION_ENABLED=no
      - SPARK_RPC_ENCRYPTION_ENABLED=no
      - SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
      - SPARK_SSL_ENABLED=no
    ports:
      - 8080:8080
      - 7077:7077
    volumes:
      - ./python:/python
 
  worker1:
    image: bitnami/spark:2.4.3
    container_name: worker1
    user: root
    environment:
      - SPARK_MODE=worker
      - SPARK_MASTER_URL=spark://master:7077
      - SPARK_WORKER_MEMORY=1G
      - SPARK_WORKER_CORES=1
      - SPARK_RPC_AUTHENTICATION_ENABLED=no
      - SPARK_RPC_ENCRYPTION_ENABLED=no
      - SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
      - SPARK_SSL_ENABLED=no
  worker2:
    image: bitnami/spark:2.4.3
    container_name: worker2
    user: root
    environment:
      - SPARK_MODE=worker
      - SPARK_MASTER_URL=spark://master:7077
      - SPARK_WORKER_MEMORY=1G
      - SPARK_WORKER_CORES=1
      - SPARK_RPC_AUTHENTICATION_ENABLED=no
      - SPARK_RPC_ENCRYPTION_ENABLED=no
      - SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
      - SPARK_SSL_ENABLED=no

1.cd到文件目录下 初次不用创建python文件夹,python文件夹会自动创建

2.执行docker-compose -f docker-spark.yml up -d

3.查看是否启动成功

4.查看saprk及scala版本

查这个版本的原因在于,要通过应用程序连接的话,要保证版本一致,不然容易出现

local class incompatible: stream classdesc serialVersionUID = -4186747031772874359, local class serialVersionUID = 625708237113576043问题

不一定百分百对,理性参考

5.通过127.0.0.1:8080webui界面查看详情

注:此为大数据计算框架,因此带有大数据色彩,需要真实实际应用,需要有一定大数据基础,及应用程序算法基础,使用例子跟网上一致

经验分享 程序员 微信小程序 职场和发展