前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在退出Hue后关闭Spark会话

如何在退出Hue后关闭Spark会话

作者头像
Fayson
发布2018-08-03 14:45:13
2.4K0
发布2018-08-03 14:45:13
举报
文章被收录于专栏:Hadoop实操

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

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

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

1.问题描述


  • 前置条件:

1.使用Hue登录执行Hive查询

2.Hive设置执行引擎为Spark

Hive配置了Spark作为默认执行引擎,在通过Hue执行Hive查询后,退出Hue后Spark的Session并为随着Hue的退出而关闭,操作如下:

登录Hue执行SQL语句,可以看到提交的是一个Spark作业

查看Yarn的界面显示该Spark Session正在运行

此时退出Hue界面,观察0003的作业任然在运行并为随着Hue的退出而关闭

如果不同的用户登录Hue执行Hive的SQL操作,会产生大量的SparkSession未关闭问题,导致占用集群资源。

2.解决方法


针对上述问题,有如下两种方式解决:

1.从CDH5.8版本开始,在Hue上提供一个用来关闭Spark Session的按钮,用户可以使用此功能来关闭当前会话,操作如下:

点击Session,进入如下界面

点击“Close”关闭当前Spark Session

查看Yarn的8080界面,确认该Session是否已关闭

此时可以看到Spark Session已经关闭。

2.通过设置HiveServer2的会话超时参数,默认为12小时,可以将会话超时时间设置的短一些,如果用户在设置的超时时间未使用他创建的会话则会话会自动关闭,设置方式如下:

登录CM进入Hive服务的配置界面

在搜索栏搜索“Idle Session Timeout”,在如下配置项配置会话超时时间

保存配置,回到CM主要根据提示重启相应服务。

3.总结


1.由于Hive使用Spark引擎,所以不同的用户登录Hue执行Hive查询都会创建一个Spark Session会话,如果不关闭会话就会产生大量的未关闭Spark作业占用集资源。

2.同一个用户重复登录Hue不会重复的创建Spark Session

3.上述提供两种方式来关闭会话,一种需要用户手动的操作关闭会话,另一种方式通过HiveServer2服务的会话超时时间来自动结束Spark Session,在使用中可以将两种方式结合起来共同使用。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档