我有一个小型Hadoop / Yarn集群,它运行在必须启用防火墙的系统上。我们正在尝试提交由于端口分配而失败的Spark作业。
我为所有需要打开的标准Hadoop / Yarn / Spark端口配置了防火墙,并设置了我认为限制端口范围的所有配置。但是,应用程序管理器仍然会在被阻止的随机端口上创建容器。
我认为可以解决的一个设置是在mapred-site.xml中设置 yarn.app.mapreduce.am.job.client.port-range ,但似乎没有受到尊重或有所作为。
任何想法/帮助将不胜感激。在这个墙上把我的头撞在墙上太久了。
编辑忘记版本 - Hadoop / Yarn 2.8.0,Spark 2.1.0,CentOS7
答案 0 :(得分:0)
yarn.app.mapreduce.am.job.client.port-range 仅适用于在 Yarn 上运行的 MapReduce 应用程序
您可以通过在 spark-defaults.conf
中配置 spark.driver.port 和 spark.port.maxRetries 来为 Yarn 上的 Spark 应用程序配置端口范围。以下值应将应用程序主机配置为使用端口 50100-50200:
spark.driver.port 50100
spark.port.maxRetries 99