基于Knox登录Yarn UI查看SparkStreaming作业兼容性问题说明

简介: 问题背景 1.登录EMR集群节点,运行SparkStreaming示例,如下所示(不同版本EMR集群spark-examples_xxx.jar的路径略有差异): [root@emr-header-1 ~]# spark-submit --class org.

问题背景

1.登录EMR集群节点,运行SparkStreaming示例,如下所示(不同版本EMR集群spark-examples_xxx.jar的路径略有差异):

[root@emr-header-1 ~]# spark-submit --class org.apache.spark.examples.streaming.NetworkWordCount --master yarn --deploy-mode cluster /opt/apps/ecm/service/spark/2.3.2-1.0.2/package/spark-2.3.2-1.0.2-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.3.2.jar 192.168.0.211 9999

参数说明:
192.168.0.211: 监听流数据源地址
9999: 监听流数据源端口

2.提交作业后,通过EMR集群提供的Yarn UI来查看运行在yarn上面作业。
image

image

3.点击“ApplicationMaster”,跳转spark界面查看作业详情,切换到“Streaming”可以看到以下界面:
image
image

4.点击“Completed Batches”里面的某个完成时间点的Batch,跳转页面会报404错误:
image

如何解决?

这个问题目前是Knox兼容的一个缺陷,当前的建议是通过端口转发(俗称“打洞”)来访问Yarn UI查看作业,具体步骤如下(本文以Mac客户端为例测试):

1.本机终端输入:ssh-keygen,生成一个公钥:

test:~ root$ cd ~/.ssh/
test:.ssh root$ ls
id_rsa        id_rsa.pub    known_hosts
test:.ssh root$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAA....此处省略很多个字符..-6c96cfde9ab7.local

2.登录到EMR Master 节点,将本机的 id_rsa.pub 内容写入到远程 Master 节点的 ~/.ssh/authorized_keys中:

vim ~/.ssh/authorized_keys

3.本机测试免密登录到EMR Master 节点:

local:.ssh root$ ssh root@xx.xx.xx.xx
Last login: Thu Aug  1 20:24:25 2019
Welcome to Alibaba Cloud Elastic Compute Service !
[root@emr-header-1 ~]#

4.在本机执行以下命令进行端口转发:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --proxy-server="socks5://localhost:8157" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=/tmp

5.启动 Chrome(在本机新开 terminal 执行)。

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --proxy-server="socks5://localhost:8157" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=/tmp

6.EMR控制台进入集群的安全组,放行8088、20888两个端口(可以通过ip.taobao.com获取客户端公网出口IP):
image

7.在Chrome中通过xx.xx.xx.xx:8088访问
image

8.点击“ApplicationMaster”,跳转spark界面查看作业详情无法访问,地址中是EMR Master节点的hostname,需要在本地配置下hosts映射:
image

local:~ root$ sudo vim /etc/hosts
xx.xx.xx.xx    emr-header-1.cluster-126784

9.配置后即可访问。切换到“Streaming”,点击“Completed Batches”列表中的Batch,验证正常访问:
image

目录
相关文章
|
JavaScript 前端开发 开发者
|
2月前
|
资源调度 Kubernetes Java
Flink--day02、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
Flink--day022、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
134 5
|
6月前
|
资源调度 Kubernetes Java
Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
|
6月前
|
SQL 资源调度 大数据
大数据平台 CDP 中如何配置 hive 作业的 YARN 队列以确保SLA?
大数据平台 CDP 中如何配置 hive 作业的 YARN 队列以确保SLA?
|
6月前
|
SQL 资源调度 安全
开启 Kerberos 安全的大数据环境中,Yarn Container 启动失败导致作业失败
开启 Kerberos 安全的大数据环境中,Yarn Container 启动失败导致作业失败
|
存储 资源调度 分布式计算
YARN 作业提交全流程|学习笔记
快速学习 YARN 作业提交全流程
325 0
YARN 作业提交全流程|学习笔记
|
资源调度 分布式计算 监控
【Hadoop技术篇】YARN 作业执行流程
Yarn的作业流程是每个大数据领域的工作者都应该熟记于心的内容,今天我就来整理一下执行流程,记得点赞加收藏哦。 
160 0
【Hadoop技术篇】YARN 作业执行流程
|
JavaScript 前端开发 开发者
|
SQL 资源调度 分布式计算
pyspark提交作业到yarn集群一些问题总结
pyspark提交job到yarn集群一些问题总结
|
资源调度 分布式计算 Java
MapReduce作业在YARN的内存分配设置
MapReduce作业在YARN的内存分配设置
311 0
MapReduce作业在YARN的内存分配设置

热门文章

最新文章

相关实验场景

更多