我正在尝试创建一个具有1个主设备和2个工作器的Spark集群。 我没有创建集群的经验。我已经阅读了一些其他图像的教程,但仍然迷路。 我正在使用此docker映像:p7hb/docker-spark。 我的docker-compose是:
spark:
image: p7hb/docker-spark:2.2.0
hostname: spark
container_name: spark
command: bash
ports:
- "4040:4040"
- "8080:8080"
- "8081:8081"
volumes:
- ./build:/build
working_dir: /build
depends_on:
- zookeeper
- kafka
networks:
netA:
ipv4_address: 10.0.1.5
netB:
ipv4_address: 10.0.0.5
在构建目录中,我的Spark应用程序包含胖子。我注意到是否在docker compose的命令字段中写了“ bash”,并且提交了我在/ build目录中启动的spark应用程序,并且可以在其中编写:
start-master.sh
start-slave.sh spark://spark:7077 -m 2G
然后它似乎可以正常工作。但是,尽管如此,如果我在docker-compose的命令字段中写:
start-master.sh
我可以在日志中看到正在创建母版,但是容器死亡了。 然后,我需要知道如何自动化此过程以创建1个主节点和2个或更多从属节点。
注意:我有两个网络,因为我正在使用网络A与Zookeeper进行通信,并且使用网络B与其他容器进行通信(我的spark应用程序只是管道的一小部分)