如何指定Spark1作业中Driver和Executor使用指定范围内端口

今天就跟大家聊聊有关如何指定Spark1作业中Driver和Executor使用指定范围内端口,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

陆良网站建设公司创新互联公司,陆良网站设计制作,有大型网站制作公司丰富经验。已为陆良上1000家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的陆良做网站的公司定做!

1.文档编写目的


在CDH集群中提交Spark作业,大家也都知道Spark的Driver和Executor之间通讯端口是随机的,Spark会随选择1024和65535(含)之间的端口,因此在集群之间不建议启用防火墙。小编主要介绍如何指定Spark1作业中Driver和Executor使用指定范围内的端口进行通讯。

  • 内容概述

1.配置Spark Driver和Executor端口范围

2.验证端口分配

  • 测试环境

1. CM和CDH版本为5.15

2. Spark版本为1.6.0

2.配置Spark Driver和Executor端口范围


1.登录到CM管理界面,进入Spark服务的配置界面

如何指定Spark1作业中Driver和Executor使用指定范围内端口

2.在Gateway分类中配置也搜索“spark-defaults.conf”,添加如下配置:

spark.driver.port=10000
spark.blockManager.port=20000
spark.executor.port=30000
spark.port.maxRetries=999

(可左右滑动)

如何指定Spark1作业中Driver和Executor使用指定范围内端口

3.保存配置,并重新部署Spark2的客户端配置

如何指定Spark1作业中Driver和Executor使用指定范围内端口

3.验证端口分配


1.向集群提交一个Spark的作业

spark-submit --class org.apache.spark.examples.SparkPi\
  --master yarn-client --num-executors 4 --driver-memory 2g\
  --driver-cores 1 --executor-memory 2g --executor-cores 1\
  /opt/cloudera/parcels/CDH/lib/spark/lib/spark-examples.jar 10

(可左右滑动)

如何指定Spark1作业中Driver和Executor使用指定范围内端口

这里的10000端口主要是用来监听Executor的请求,在Executor起来的时候需要与Driver通信并获取具体任务信息,是Driver使用的管理段调用端口。

2.查看Spark作业的运行界面查看Driver和Executor使用的端口号

如何指定Spark1作业中Driver和Executor使用指定范围内端口

此处Driver和Executor的端口是通过参数spark.blockManager.port控制,主要是控制Driver和Executor之间的数据传输端口。

3.查看每个Executor的启动日志

如何指定Spark1作业中Driver和Executor使用指定范围内端口

4.总结

1.spark.driver.port的10000端口是用来监听来自executor的请求,在executor起来的时候需要与driver通信并获取具体的任务信息,是driver使用的管理调度用端口。

2.spark.blockManager.port(20000)端口是driver和executor直接数据传输端口(比如cached data frame, broadcast vars)。

3. spark.executor.port(30000)端口主用于和spark.driver.prot进行交互。

4.在Spark运行中,blockManager将不会和YARN交互,而driver是会和YARN中运行的Application Master进程交互。

提示:代码块部分可以左右滑动查看噢

看完上述内容,你们对如何指定Spark1作业中Driver和Executor使用指定范围内端口有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


名称栏目:如何指定Spark1作业中Driver和Executor使用指定范围内端口
标题链接:http://pwwzsj.com/article/ipoggd.html