在Spark中选择端口范围

时间:2019-03-10 13:39:52

标签: docker apache-spark pyspark

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

1 个答案:

答案 0 :(得分:1)

您应该对将要相互通信的所有容器使用相同的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/