目的
因Ambari管理集群的YARN任务执行查看不到具体执行过程和明细,又执行的引擎为TEZ,故通过TEZ的WEB UI来执行实现任务执行的可视化。
测试环境
1、Ambari2.7.4
2、集群未启用kerberose
3、Pk 8c16g/200+300
4、HADOOP版本:3.3.4;YARN版本:3.3.4;TEZ版本:0.10.2;HIVE版本: 3.1.3;
前提:
1、集群已经安装且正常运行
2、Ambari的管理员账号
3、集群部署安装了Timeline和TEZ
部署配置:
tez-ui需要结合yarn的timeline使用,timeline提供了tez-ui的数据源
修改tez配置,tez-site.xml添加
yarn.timeline-service.enabled = true
tez.tez-ui.history-url.base =http://10.20.101.32:9999/tez-ui/
tez.am.tez-ui.history-url.template = __HISTORY_URL_BASE__?viewPath=/#/tez-app/__APPLICATION_ID__
tez.history.logging.service.class = org.apache.tez.dag.history.logging.ats.ATSV15HistoryLoggingService
tez.dag.history.logging.enabled = true
tez.am.history.logging.enabled = true
tez.allow.disabled.timeline-domains = true
注意tez.tez-ui.history-url.base需要填写tomcat部署的地址,为http://test02:8080/tez-ui-0.9.2/,需要修改成你自己的配置;
将源码目录下打包的war包apache-tez-0.9.2-src/tez-ui/target/tez-ui-0.9.2.war放在tomcat /opt/apache-tomcat-8.5.47/webapps目录下,启动
前端配置修改
(1)在选定的启动tez-ui服务的节点上安装tomcat
(2)在tomcat的webapps上新建tez-ui目录
(3)将tez-ui-0.8.4.war拷贝到tez-ui目录,并且解压(unzip tez-ui-0.9.2.war)
(4)~/webapps/tez-ui/config/,目录下,配置configs.env
前端打包的时候需要修改Timeline Server URL和Resource Manager UI URL
在scripts/configs.env 中修改这两个配置为部署的timeline地址和RM地址,
//timeline: "http://localhost:8188",
//rm: "http://localhost:8088",
注://不生效,需要将//里的内容直接修改为自己的地址(具体可以到ambari配置信息里面去搜索);
说明:修改Tomcat端口方法:
~/conf/server.xml 文件中修改
Connector port=“8080” protocol=“HTTP/1.1”
修改为:
Connector port=“9999” protocol=“HTTP/1.1”
启动Tomcat命令:
~/bin/startup.sh
YARN配置修改:
yarn.timeline-service.enabled = true
yarn.acl.enable = false
yarn.admin.acl = activity_analyzer,yarn,dr.who,admin
yarn.timeline-service.webapp.address = <host>:8188
yarn.timeline-service.version = 2,0f
yarn.timeline-service.hostname = <host>
yarn.timeline-service.http-cross-origin.enabled = true
yarn.timeline-service.http-cross-origin.allowed-origins = *
yarn.resourcemanager.system-metrics-publisher.enabled = true
yarn.timeline-service.entity-group-fs-store.group-id-plugin-classes = org.apache.tez.dag.history.logging.ats.TimelineCachePluginImpl
hive配置修改:
hive_timeline_logging_enabled = true
hive.exec.pre.hooks = org.apache.hadoop.hive.ql.hooks.ATSHook
hive.exec.post.hooks = org.apache.hadoop.hive.ql.hooks.ATSHook,org.apache.atlas.hive.hook.HiveHook
hive.exec.failure.hooks = org.apache.hadoop.hive.ql.hooks.ATSHook
hdfs配置修改:
hadoop.http.filter.initializers = org.apache.hadoop.security.HttpCrossOriginFilterInitializer
执行效果图:
tez-ui的官网介绍
http://tez.apache.org/tez-ui.html
tez-ui的数据源介绍
http://tez.apache.org/tez_ui_user_data.html
如果有发现内容有异常或者有问题,欢迎联系我一起完善。
谢谢!