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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

时默 2019-08-01 21:39:24 浏览210
展开阅读全文

问题背景

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

网友评论

登录后评论
0/500
评论
时默
+ 关注