专栏首页Hadoop实操如何指定Spark2作业中Driver和Executor使用指定范围内端口

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

1.文档编写目的


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

  • 内容概述

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

2.验证端口分配

  • 测试环境

1.CM和CDH版本为5.15

2.Spark版本为2.2.0

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


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

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

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

(可左右滑动)

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

3.验证端口分配


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

spark2-submit --class org.apache.spark.examples.SparkPi\
    --master yarn --num-executors 4 --driver-memory 1g\
    --driver-cores 1 --executor-memory 1g --executor-cores 1\
    /opt/cloudera/parcels/SPARK2/lib/spark2/examples/jars/spark-examples_2.11-2.2.0.cloudera2.jar 10000

(可左右滑动)

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

4.总结


本篇文章Fayson主要是以Spark2为例说明限制Driver和Executor使用指定范围内的端口号。细心的朋友可以看到Driver启动的时候会监听两个端口示例中是10001和20000。关于这两个端口的解释如下:

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

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

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

4.Spark2中指定Executor的端口号是通过spark.blockManager.port指定与Spark1的(spark.executor.port)指定参数不同。

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f),作者:Fayson

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

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

    在CDH集群中提交Spark作业,大家也都知道Spark的Driver和Executor之间通讯端口是随机的,Spark会随选择1024和65535(含)之间的...

    Fayson
  • 0645-6.2.0-为什么我在CDH6上使用Spark2.4 Thrift失败了

    Fayson在前面的文章中介绍过什么是Spark Thrift,Spark Thrift的缺陷,以及Spark Thrift在CDH5中的使用情况,参考《064...

    Fayson
  • 0514-Hive On Spark无法创建Spark Client问题分析

    在集群中进行Hive-On-Spark查询失败,并在HiveServer2日志中显示如下错误:

    Fayson
  • DDD战略篇:架构设计的响应力

    当敏捷宣言的17位签署者在2001年喊出“响应变化胜于遵循计划”这样的口号时,鲜有组织会真正把这句话当回事儿,甚至很多经验丰富的管理者会认为好的计划是成功的一半...

    ThoughtWorks
  • [PHP] 算法-镜像二叉树的PHP实现

    陶士涵
  • 融完5亿美元创始人出局?腾讯投资的明星无人车公司Zoox地震了

    据外媒The Information报道,据知情人士透露,一手将Zoox带大的“亲妈”Tim Kentley-Klay已经离开公司,并卸下CEO一职。

    量子位
  • Java 8 的这些特性,你知道吗?

    作为一个心怀大教堂之愿景的搬砖码农,伴着一行代码一块砖的节奏,生产环境上 JDK 的版本从 1.4 逐步升级到 8。

    一猿小讲
  • 现在都流行用RT-Thread Studio

    本篇笔记主要介绍,如何在RT-Thread的集成开发环境Studio下快速搭建工程。

    用户1605515
  • 也谈 ngx.ctx 继承问题

    在前一阵子的 OpenResty Con 2018 上,来自又拍云的 @tokers 分享了他们对 ngx.ctx 的 hack,以确保在发生内部跳转后 ngx...

    poslua
  • CPanel安装教程

    2、确定服务器主显IP地址(购买授权时要用的IP,对于LinodeVPS就是你的VPS的IP)

    用户1673664

扫码关注云+社区

领取腾讯云代金券