как выставить докеризованного искрового работника? - PullRequest
0 голосов
/ 27 мая 2019

Я использую автономный искровой кластер с docker-compose У меня есть главный и один рабочий контейнеры, работающие в одной сети (10.5.0.0/16)

Я развернул кластер на виртуальной машине Ubuntu, когда я запускаю скрипт 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, мне нужно, чтобы он был открыт для публичного показа, и мастер спарк знает, какой ip предоставить процессу драйвера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...