当前位置: 首页 > 知识库问答 >
问题:

网络“桥”中docker上的Spark独立集群

饶滨海
2023-03-14
    null
version: '2'
services:
  spark:
    image: xxxxxxxx/spark
    tty: true
    stdin_open: true
    container_name: spark
    volumes:
     - /var/data/dockerSpark/:/var/data
ports:
 - "7077:7077"
 - "127.0.0.1:8080:8080"
 - "7078:7078"
 - "127.0.0.1:8081:8081"
 - "127.0.0.1:9010:9010"
 - "4040:4040"
 - "18080:18080"
 - "6066:6066"
 - "9000:9000"
 #export STANDALONE_SPARK_MASTER_HOST=172.xx.xx.xx #This is the docker Ip adress on the node
 #export SPARK_MASTER_IP=$STANDALONE_SPARK_MASTER_HOST
 export SPARK_WORKER_MEMORY=7g
 export SPARK_EXECUTOR_MEMORY=6G
 export SPARK_WORKER_CORES=4
 export SPARK_WORKER_OPTS="-Dspark.worker.cleanup.enabled=true -Dspark.worker.cleanup.interval=86400 -Dspark.worker.cleanup.appDataTtl=86400"
  • sbin/start-slave.sh spark://c96___37fb:7077--用于并置从机的端口7078
  • sbin/start-slave.sh spark://masternodeip:7077--其他两个从机的端口7078

前面引用的所有端口都从nodeMasterhtml" target="_blank">重定向到相应的Docker。

因此,webUI向我显示,我的集群有3个连接的节点,不幸的是,当运行时,只有并置的节点在工作,其他两个节点不断断开连接并重新连接到应用程序,而不做任何事情。

但我真正关心的是,我不想在masterNode的本地主机上运行spark master docker,而是在它自己的docker网络(“桥”)上运行。

谢谢你的智慧建议!

共有1个答案

赵景曜
2023-03-14

我尝试了另一种方法,在主VM和从VM的容器中触发spark-class

  version: "2"
   services:
    spark-master:
     image: spark/mastertool:2.2.1
      command: /opt/spark/bin/spark-class org.apache.spark.deploy.master.Master
      hostname: spark-master

      environment:
        MASTER: spark://localhost:port
        SPARK_CONF_DIR: /opt/conf
        SPARK_PUBLIC_DNS: xxx.xxx.xxx.xxx

      ports:
       - 8080:8080
       - 7077:7077
       - 6066:6066
       - 4040:4040

上面是docker-compose for master vm

下面是docker-compose for slave vm

version: "2"

services:
 spark-worker:
  image: spark/workertool:2.2.1
   command: /opt/spark/bin/spark-class org.apache.spark.deploy.worker.Worker spark://private-ip-of-master_cluster:xxxx
   hostname: spark-worker
   environment:
     SPARK_CONF_DIR: /conf
     SPARK_PUBLIC_DNS: xx.xxx.xx.xxx
     SPARK_WORKER_CORES: 2
     SPARK_WORKER_MEMORY: 2g
     SPARK_WORKER_PORT: xxxx
     SPARK_WORKER_WEBUI_PORT: xxxx

   ports:
     - 8xxx:xxxx
 类似资料:
  • 工人出现在图片上。为了运行我的代码,我使用了以下命令:

  • 本文向大家介绍Docker网络上的用户定义网桥,包括了Docker网络上的用户定义网桥的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将讨论为什么应该在默认桥网络上使用用户定义的桥网络。我们还将使用实际示例进行演示。 如果您使用用户定义的网桥进行容器网络连接,则该网络中的所有容器会自动将所有必需的端口公开给彼此,而不是公开给外部世界。这增加了容器之间的互操作性,并提供了更好的隔离性。 使用

  • 本文向大家介绍详解Centos7 下建立 Docker 桥接网络,包括了详解Centos7 下建立 Docker 桥接网络的使用技巧和注意事项,需要的朋友参考一下 前言 最近职业规划开始有了转变,在创业团队中一个人的角色不可能只有一个,说说我现在担任过的角色:配置管理,项目经理,售前技术支持,售后技术支持,测试,少许开发工作,产品策划;除了市场营销,其他杂七杂八的都干过了。最后我发现我最适合的职位

  • 本文向大家介绍Docker主机网络与网桥网络,包括了Docker主机网络与网桥网络的使用技巧和注意事项,需要的朋友参考一下 可用于Docker网络的单主机网络有两种类型:“主机”和“桥”网络。单主机网络意味着它们的影响对于每个单独的主机都是局部的。 在主机网络的情况下,特定的Docker容器可以直接使用主机的网络来发送和接收数据包。对于网桥网络,它需要端口映射才能进行通信。 为了更好地理解它们,让

  • 我有一个10.101的服务器VLAN。10.0/24,我的Docker主机是10.101。10.31. 如何在Docker主机(VM)上配置网桥网络,以便所有容器都可以直接连接到LAN网络,而无需在默认的172.17上重定向端口。0.0/16? 我尝试过搜索,但到目前为止我找到的所有howto都导致SSH会话丢失,我不得不从控制台进入VM以恢复我执行的步骤。

  • 应用程序不是那么占用内存,有两个连接和写数据集到目录。同样的代码在spark-shell上运行没有任何失败。 寻找群集调优或任何配置设置,这将减少执行器被杀死。