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

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

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github: https://github.com/fayson/cdhproject

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

1.文档编写目的


在CDH集群中提交Spark作业,大家也都知道Spark的Driver和Executor之间通讯端口是随机的,Spark会随选择1024和65535(含)之间的端口,因此在集群之间不建议启用防火墙。在前面Fayson介绍了《如何指定Spark2作业中Driver和Executor使用指定范围内端口》,本篇文章Fayson主要介绍如何指定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服务的配置界面

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

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

(可左右滑动)

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

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

(可左右滑动)

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

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

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

3.查看每个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进程交互。

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

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f)

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

原始发表时间:2018-11-01

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

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

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

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

    Fayson
  • 什么是sparklyr

    我们(RStudio Team)今天很高兴的宣布一个新的项目sparklyr(https://spark.rstudio.com),它是一个包,用来实现通过R连...

    Fayson
  • 链表、头指针、头结点

     图1为线性表(ZHAO, QIAN, SUN, LI, ZHOU, WU, ZHENG, WANG)的逻辑状态。头指针 指示链表中第一个结点(即第一个数据元素...

    marsggbo
  • 每日一题2-对链表进行插入排序

    输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5

    程序员小王
  • shell编程04【流程控制语句】

      Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。

    用户4919348
  • koa实践及其手撸

    Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石...

    一粒小麦
  • BigData--大数据技术之SparkSQL

    MiChong
  • 数据分析:《三国演义》魏蜀吴联盟深度解析

    读三国,就一定要弄清楚国与国、人与人之间的斗争。 三国的历史,就是一部精彩的斗争史,无论是前期的曹袁之争,中期的三国缠斗,还是后期的魏蜀单挑,都充满的了智慧和权...

    沉默的白面书生
  • 架构大数据应用

    数据管理比以往更加复杂,到处都是大数据,包括每个人的想法以及不同的形式:广告 , 社交图谱,信息流 ,推荐 ,市场, 健康, 安全, 政府等等。 过去的三年里,...

    半吊子全栈工匠

扫码关注云+社区

领取腾讯云代金券