Ajk*_*Ajk 6 client mode docker apache-spark
我正在尝试使用客户端模式从dockerized Apache Spark应用程序连接到独立Apache Spark集群.
司机给Spark Master和Workers提供了地址.当在docker容器内运行时,它将使用some_docker_container_ip.从外部看不到docker地址,因此应用程序将无法运行.
Spark spark.driver.host有财产.此属性将传递给Master和Workers.我最初的本能是在那里传递主机地址,因此群集将代替可见机器.
不幸的spark.driver.host是,它还用于通过Driver设置服务器.在那里传递主机地址将导致服务器启动错误,因为docker容器无法绑定主机主机下的端口.
这似乎是一个双输的局面.我既不能使用主机地址也不能使用docker容器地址.
理想情况下,我想有两个属性.将spark.driver.host-to-bind-to用于设置驱动器服务器和spark.driver.host-for-master这将由硕士和工人使用.不幸的是,我似乎只被一个财产困住了.
另一种方法是--net=host在运行docker容器时使用.这种方法有许多缺点(例如,其他docker容器无法链接到带有--net=hoston 的容器,并且必须暴露在docker网络之外),我想避免它.
有没有办法解决驱动程序寻址问题而不暴露docker容器?
| 归档时间: |
|
| 查看次数: |
731 次 |
| 最近记录: |