如何暴露一个码头工人的火花工人?

时间:2019-05-27 15:51:38

标签: docker apache-spark

我正在使用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。

>

0 个答案:

没有答案
相关问题