我正在使用docker-compose运行独立的Spark集群 我有一个主容器和一个工作容器在同一网络(10.5.0.0/16)中运行
我将群集部署在Ubuntu VM上,当我在同一VM上运行python脚本时,一切正常,但是当我想从另一台主机使用群集时,似乎无法访问工作容器
我需要一种方法,在与主服务器联系后(可以正常工作),我的驱动程序可以到达工作人员
version: "3.7"
services:
spark-master:
image: spark-master:2.3.1
container_name: spark-master
hostname: spark-master
ports:
- "0.0.0.0:80:8080"
- "0.0.0.0:7077:7077"
networks:
spark-network:
ipv4_address: 10.5.0.2
volumes:
- /mnt/spark-apps:/opt/spark-apps
- /mnt/spark-data:/opt/spark-data
environment:
- "SPARK_LOCAL_IP=spark-master"
spark-worker-1:
image: spark-worker:2.3.1
container_name: spark-worker-1
hostname: spark-worker-1
depends_on:
- spark-master
ports:
- "0.0.0.0:8081:8081"
env_file: ./env/spark-worker.sh
environment:
- "SPARK_LOCAL_IP=spark-worker-1"
networks:
spark-network:
ipv4_address: 10.5.0.3
volumes:
- /mnt/spark-apps:/opt/spark-apps
- /mnt/spark-data:/opt/spark-data
networks:
spark-network:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.5.0.0/16
基本上,我希望在与主服务器联系后,驱动程序进程需要在10.5.0.3:8081到达工作容器,我需要公开它,以便Spark主机知道要向驱动程序进程提供什么IP。
>