关于tez-ui的"All DAGs"和"Hive Queries"页面信息为空的问题解决过程
近段时间发现公司的HDP大数据平台的tez-ui页面不能用了,页面显示为空,导致通过hive提交的sql不能方便地查找到Yarn上对应的applicationId,只能通过beeline的屏幕输出信息、hiveserver2的日志、yarn的日志等一步步去查找,非常麻烦(查找方法见上一篇博客“如何找到Hive提交的SQL相对应的Yarn程序的applicationId”)。因此下决心解决这个问题。
于是找时间去了解了一下tez-ui的原理,它其实是Tez项目下的一个子项目(web项目),可以单独部署在诸如tomcat之类的应用服务器下。tez-ui上显示的tez程序信息实际是来自yarn的timeline service服务,前者通过后者提供的REST接口获取程序的metrics信息。Yarn Timeline Service的架构如下图所示:

我们的集群tez-ui和timeline service是在不同的机器上面,比如tez-ui部署在A机器,timeline service部署在B机器。
首先检查了A、B机器,发现它们的时间不一致,其实是timeline service所在的B机器的时间不正确。进一步检查发现B机器的NTP服务关闭了,因此开启B机器的NTP服务,自动同步时间。
其次,修改tez所在机器的tez-site.xml配置文件,修改下列配置项为对应的值。这一步可以解决"All DAGs”页面不显示信息的问题。
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
再次,修改hiveserver2服务所在机器的hive-site.xml配置文件,修改下列配置项为对应的值,然后逐个重启hiveserver2服务。这一步可以解决“Hive Queries”页面不显示信息的问题。
hive.exec.failure.hooks: org.apache.hadoop.hive.ql.hooks.ATSHook
hive.exec.post.hooks: org.apache.hadoop.hive.ql.hooks.ATSHook
hive.exec.pre.hooks: org.apache.hadoop.hive.ql.hooks.ATSHook
最后,重启A机器上的tez-ui程序和B机器上的timeline server服务。前者部署在tomcat下,只需要重启下tomcat即可。后者通过如下命令重启。
./yarn-daemon.sh stop timelineserver
./yarn-daemon.sh start timelineserver
最终,我们打开tez-ui页面,地址是http://A:18088/tez-ui,可以看到现在页面可以正确展示"All DAGs"和"Hive Queries"信息了。
"All DAGs"页面:

"Hive Queries"页面:

关于tez-ui的"All DAGs"和"Hive Queries"页面信息为空的问题解决过程的更多相关文章
- Optimizing Hive queries for ORC formatted tables
Short Description: Hive configuration settings to optimize your HiveQL when querying ORC formatted t ...
- 5 Ways to Make Your Hive Queries Run Faster
5 Ways to Make Your Hive Queries Run Faster Technique #1: Use Tez Hive can use the Apache Tez execu ...
- Hive 元数据库表信息
Hive 的元数据信息通常存储在关系型数据库中,常用MySQL数据库作为元数据库管理. 1. 版本表 i) VERSION -- 查询版本信息 2. 数据库.文件存储相关 i) DBS -- 存储 ...
- HIVE配置错误信息
原因:版本问题 解决方法:cp /root/hive/lib/当前的jlinexx.jar /root/hadoop/share/hadoop/yarn/lib
- hive中创建子表并插入数据过程初始化MR报错解决方法
本文继成上一篇通过hive分析nginx日志文章,详情参考下面链接: http://www.cnblogs.com/wcwen1990/p/7066230.html 接着来: 创建业务子表: drop ...
- vue + element ui 阻止表单输入框回车刷新页面
问题 在 vue+element ui 中只有一个输入框(el-input)的情况下,回车会提交表单. 解决方案 在 el-form 上加上 @submit.native.prevent 这个则会阻止 ...
- Hive语句执行优化-简化UDF执行过程
Hive会将执行的SQL语句翻译成对应MapReduce任务,当SQL语句比较简单时,性能还是可能处于可接受的范围.但是如果涉及到非常复杂的业务逻辑,特别是通过程序的方式(一些模版语言生成)生成大 ...
- python UI自动化实战记录五:测试页面2 pageobject
该部分记录测试页面2-StrategyPage,所有页面2上的元素定位.操作.获取属性等方法都写在该类中. 1 页面2继承自BasePage: 2 页面2第一部分写的是所有的定位器 3 页面2第二部分 ...
- 查看hive的配置信息
在启动hive时设置配置属性信息 $ bin/hive --hiveconf <property=value> 查看当前所有的配置信息 hive > set ; hive (db_h ...
随机推荐
- deepin15.11小毛病解决
目录 边缘花屏问题 QQ`Tim头像问题 ssh卡死问题 看直播卡 边缘花屏问题 sudo apt install systemsettings 打开kde系统设置 打开显示与设置,修改如图下,基本上 ...
- 使用STM8S i2c对TPS65987寄存器进行读写
上图是TPS65987的i2c读写协议,和标准i2c协议有点出入,不过也不难理解,在读的时候i2c slave在发送数据过来之前会先发送1byte数据表示后面会有几个字节数据过来,在写的时候i2c h ...
- python爬虫——用selenium爬取京东商品信息
1.先附上效果图(我偷懒只爬了4页) 2.京东的网址https://www.jd.com/ 3.我这里是不加载图片,加快爬取速度,也可以用Headless无弹窗模式 options = webdri ...
- 今天,VS Code 五岁了。
时光飞逝,岁月如梭.今天,VS Code 迎来了 5 岁的生日. 回想起 VS Code 发布的那一天,仿佛还在昨天. 回顾 VS Code 这五年的发展,总是能给我们开发者带了无限的惊喜. 2015 ...
- SESSION劫持
服务端和客户端之间是通过session(会话)来连接沟通.当客户端的浏览器连接到服务器后,服务器就会建立一个该用户的session.每个用户的session都是独立的,并且由服务器来维护.每个用户的s ...
- 2019-2020-1 20199329《Linux内核原理与分析》第十二周作业
<Linux内核原理与分析>第十二周作业 一.本周内容概述: 通过编程理解 Set-UID 的运行机制与安全问题 完成实验楼上的<SET-UID程序漏洞实验> 二.本周学习内容 ...
- 设置 cipher suite
https://man.openbsd.org/SSL_CTX_set_cipher_list.3#ECDHE SSL_CTX_set_cipher_list() sets the list of a ...
- POJ1651:Multiplication Puzzle(区间dp)
Multiplication Puzzle Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9419 Accepted: 5850 ...
- js高阶函数的理解
高阶函数:英文叫Higher-order function.JavaScript的函数其实都指向某个变量.既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数 ...
- 谈谈Java的线程池设计
在实际项目中,如果因为想异步执行暂时性的任务而不断创建线程是很浪费资源的事情(当一个任务执行完后,线程也没用了).这种情况下,最好是将任务提交给线程池执行. 所谓池,就是将管理某一种资源,对资源进行复 ...