如何在Hue中调优Impala和Hive查询
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github:
https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1
文档编写目的
Hue中使用Hive和Impala进行查询,在使用完Hue后退出登录,会出现Hive和Impala的暂用的资源未释放。本篇文章Fayson主要针对该问题在Hue中调优Impala和Hive查询,该调优方式适用于CDH5.2及以后版本。
内容概述
1.场景描述及测试用户准备
2.Impala资源池和放置规则配置
3.放置规则验证及总结
测试环境
1.CM和CDH版本为5.15
2
Hue中调优Impala
Hue会尝试在用户离开查询结果返回界面时关闭查询(通常查询会比较快完成,因此可以快速的关闭它们)。但是,如果用户执行的操作从未返回。或者,如果用户从未关闭查询页面,则查询任然保存打开状态。在CDH5.2中,Impala将自动使用“query_timeout_s”属性指定会话超时时间(默认为10分钟),在超时后自动取消查询,可以通过如下方式设置该参数。
1.使用管理员登录CM,进入Hue服务的配置界面
2.在搜索栏输入“hue*.ini”,在配置项中配置如下信息
[impala]
query_timeout_s=600
(可左右滑动)
配置查询超时时间,单位为s,完成以上配置后根据CM提示重启相应服务即可。在此之前的版本,关闭所有查询的唯一解决方法则是重启Hue或Impala服务。
3
Hive调优
1.使用管理员登录CM,进入Hive服务的配置界面
2.在左侧筛选器选择HiveServer2服务并在搜索栏输入“hive-site.xml”,在配置中增加如下内容:
<property>
<name>hive.server2.session.check.interval</name>
<value>3000</value>
<description>The check interval for session/operation timeout, which can be disabled by setting to zero or negative value.</description>
</property>
<property>
<name>hive.server2.idle.session.timeout</name>
<value>0</value>
<description>Session will be closed when it's not accessed for this duration, which can be disabled by setting to zero or negative value.</description>
</property>
<property>
<name>hive.server2.idle.operation.timeout</name>
<value>0</value>
<description>Operation will be closed when it's not accessed for this duration of time, which can be disabled by setting to zero value. With positive value, it's checked for operations in terminal state only (FINISHED, CANCELED, CLOSED, ERROR). With negative value, it's checked for all of the operations regardless of state.</description>
</property>
(可左右滑动)
完成修改后,保存配置并重启HiveServer2服务。
4
文总结
1.在Hue中进行Hive和Impala查询后,用户退出后不会自动的释放Hive和Impala的资源,因此该调优文章主要针对查询占用资源不释放问题。
2.通过设置Impala和HiveServer2的会话超时方式来释放查询占用的资源,已达到调优的目的。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。