代码之家  ›  专栏  ›  技术社区  ›  Nemanja Beric

spark中端口范围的选择

  •  0
  • Nemanja Beric  · 技术社区  · 5 年前

    从spark文档中,我知道执行者,即工作者(因为默认情况下,每个工作者只有一个执行者)用于与主机建立连接的端口是随机确定的,但我如何设置它们的范围以在docker中发布这些端口呢。此外,如果工作人员与另一个容器(不属于分布式系统)建立了连接,我是否需要发布工作人员从容器获取返回数据的端口(例如,通过https请求)? 请注意,我不使用docker compose。yml,因为我不需要将容器设置为服务,我想在客户数量增加/减少时添加/删除容器。

    0 回复  |  直到 5 年前
        1
  •  1
  •   shanmuga    5 年前

    您应该对所有相互通信的容器使用相同的docker网络。容器可以使用容器名称(在所有端口上)联系到其他容器,就像网络上的不同主机一样。

    创建网络(只需一次)

    docker network create <network_name>
    

    当你启动一个容器时,使用 --network 将容器连接到网络

    docker run --network=<network_name> --name <container_name> <image>
    

    还可以将现有容器连接到网络

    docker network connect <network_name> <container_name>
    

    参考:
    https://docs.docker.com/engine/reference/commandline/network_create/
    https://docs.docker.com/engine/reference/run/