基于Knox登录Yarn UI查看SparkStreaming作业兼容性问题说明
问题背景
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上面作业。
3.点击“ApplicationMaster”,跳转spark界面查看作业详情,切换到“Streaming”可以看到以下界面:
4.点击“Completed Batches”里面的某个完成时间点的Batch,跳转页面会报404错误:
如何解决?
这个问题目前是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):
7.在Chrome中通过xx.xx.xx.xx:8088访问
8.点击“ApplicationMaster”,跳转spark界面查看作业详情无法访问,地址中是EMR Master节点的hostname,需要在本地配置下hosts映射:
local:~ root$ sudo vim /etc/hosts xx.xx.xx.xx emr-header-1.cluster-126784
9.配置后即可访问。切换到“Streaming”,点击“Completed Batches”列表中的Batch,验证正常访问:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
elasticsearch 分词
analysis 分析是将文本 text 转化为 token 或 term 的过程。token 或 term 随后被添加至倒排索引(inverted index)用于检索。分析(analysis)过程是由分词器(analyzer)来完成的,分词器包括内置(built-in)分词器和自定义(cutsom)分词器。分析(analysis)可以在以下两种情况下发生: index time search time analyzer (分词器) 一个分词器由以下三部分组成,内置分词器主要是为了适应特定语言和文本类型,打包了不同组合的组件,组成了若干种预置分词器。以下组件还能单独暴露,自由组合成自定义分词器。 character filters 以字符流的形式接收原始文本,增加、删除或修改字符,例如:剥离html标签,转换 (٠١٢٣٤٥٦٧٨٩) 为阿拉伯数字 (0123456789) 等。 一个分词器可以包含0到多个character filters tokenizers 以字符流的形式接收文本,将它拆分成单个的 token (英文单词、中文单字或词语),输出 token stream ...
- 下一篇
Apache Carbondata接入Kafka实时流数据
1.导入carbondata依赖的jar包 将apache-carbondata-1.5.3-bin-spark2.3.2-hadoop2.7.2.jar导入$SPARKHOME/jars;或将apache-carbondata-1.5.3-bin-spark2.3.2-hadoop2.7.2.jar导入在$SPARKHOME创建的carbondlib目录 2.导入kafka依赖的jar包 接入kafka数据需要依赖kafka的jars,将以下jars导入$SPARKHOME/jars kafka-clients-0.10.0.1.jarspark-sql-kafka-0-10_2.11-2.3.2.jar 3.spark-shell启动服务 ./bin/spark-shell --master spark://hostname:7077 --jars apache-carbondata-1.5.3-bin-spark2.3.2-hadoop2.7.2.jar a).导入依赖 import org.apache.spark.sql.SparkSession import org.apa...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题