加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

apache-spark – 解决Apache Spark应用程序的问题从Docker容器

发布时间:2020-12-16 03:39:50 所属栏目:安全 来源:网络整理
导读:我正在尝试使用客户端模式从dockerized Apache Spark应用程序连接到独立Apache Spark集群. 司机给Spark Master和Workers提供了地址.在docker容器内运行时,它将使用some_docker_container_ip.从外部看不到docker地址,因此应用程序将无法运行. Spark有spark.dr

我正在尝试使用客户端模式从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,它将由Master和Workers使用.不幸的是,我似乎只被一个财产困住了.

另一种方法是在运行docker容器时使用–net = host.这种方法有许多缺点(例如,其他docker容器无法链接到带有–net = host的容器,并且必须暴露在docker网络之外),我想避免它.

有没有办法解决驱动程序寻址问题而不暴露docker容器?

最佳答案
此问题已在https://github.com/apache/spark/pull/15120中修复

它将成为Apache Spark 2.1版本的一部分

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读