前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在同时使用Hive+Sentry,因HMS死锁导致的高并发写入工作负载时,查询速度缓慢或者停滞

在同时使用Hive+Sentry,因HMS死锁导致的高并发写入工作负载时,查询速度缓慢或者停滞

作者头像
Fayson
发布2018-07-12 15:19:06
2K0
发布2018-07-12 15:19:06
举报
文章被收录于专栏:Hadoop实操Hadoop实操

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

Fayson的github:https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.总结


一些查询请求或者工作负载会导致Hive Metastore(HMS)的死锁。

2.症状


在受影响的版本中,某些工作负载可能导致Hive Metastore(HMS)死锁。内部的自动机制可以从这种死锁中恢复。但是,在高并发且写入较重的工作负载中,HMS从死锁中恢复比查询作业的执行时间还长,于是导致HMS的性能下降或者挂起。反过来影响HiveServer2的性能,从而影响查询性能。

升级到受影响的版本后,如果工作负载的性能急剧恶化或停滞,你可能遇到了这个问题。如果你使用MySQL或MariaDB作为元数据库的话,你会在HMS中的日志看到以下错误。

代码语言:javascript
复制
com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction

(可左右滑动)

注意:在Oracle和PostgreSQL上,不会打印此消息,此问题与数据库无关

以下三种情况说明具体如何影响你:

1.如果你正在使用受影响的版本并使用Hive和Sentry,请参考下面的“解决办法”章节。

2.如果你使用受影响的版本,但不使用Hive和Sentry,则不需要执行任何操作。

3.如果你未使用受影响的版本并且你使用的是Hive和Sentry,请勿升级到受影响的版本。

3.适用版本


1.CDH5.13.0, 5.13.1, 5.13.2

2.CDH5.14.0

3.同时使用Hive和Sentry

4.解决办法1


1.升级到5.13.3或更高版本

2.升级到5.14.2或更高版本

5.解决办法2


如果你无法升级,为缓解此问题,请修改一下配置:

1.使用Cloudera Manager进入“Hive> Configuration>Search”,搜索“Hive Metastore Server Advanced Configuration Snippet (Safety Valve) for hive-site.xml”。

2.点击+号增加以下内容:

设置“hive.metastore.transactional.event.listeners”为空值

设置“hive.metastore.event.listeners”为“org.apache.hive.hcatalog.listener.DbNotificationListener”,如下图所示:

3.重启HMS服务使配置生效。

使用此解决方法的副作用可能是某些DDL查询(如删除表和使用相同名称创建的新表)失败,并显示报错“No valid privileges”。重新运行这些查询应该可以解决该问题。

如果做了上述修改后问题仍然存在,考虑升级到推荐的新版本。

6.总结


在CDH5.15发布之前,目前较新的版本推荐的是5.13.3或5.14.2。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档