记一次hive超时报错问题
最近在开发RDBMS
到Hive
/Impala
/Kudu
/HBase
的载数功能。
碰到了一个hive一直超时
的问题,可把人烦死了
,就是悟空那个表情
。
然后排查了一下问题,记录一下。
关注博主不迷路,获取更多干货资源
1 场景
我们使用
hive做数仓
,将RDBMS的数据摄取到hive
中,或者再到Kudu/HBase
,这个一波操作的话,我们需要建两个表,一个hive表
,一个hive和RDBMS的StorageHandler表
。
当然如果是到Kudu或者HBase的话,还需要一张
hive到Kudu或者HBase的StorageHandler表
也就是一波操作至少建立2-3个表。
2 事故现场
那么在这个建表加导入数据的过程中,经常出现
hive连接超时的情况
,恼火。
平时因为
开发任务很重
,所以每次碰到这个问题都是直接重启Hive赶紧接着干活
。
终于有一天,内心的另一个我
忍受不了了
,决定把这个狗东西的真面目
给他揭开。
3 问题排查
3.1 现象查看
先去看了下
hive
,一切显示正常
,这就操蛋
了。
进到
hive的日志
中,看到了一点端倪
,说是有Hive Metastore Server运行不良
。
3.2 hive连接数查看
1 |
|
3.3 配置查看
然后去看了下hive配置,原来CDH的hive
中hiveServer2
的并发连接数
默认是3
,hiveServer2
和Hive Metastore Server
的最长等待时间
默认是5分钟
。
1 |
|
所以问题原因就是,我们
同时
会有很多载数任务进行
,这些任务都比较耗费时间
。当有
三个任务
在执行的时候,其他任务
就得等待
,超过5分钟
的话就超时
了。
4 事故处理
解决问题的话,无非两个方向
一是
增大并发数
二是
延长超时时间
我们的话,因为载数任务比较多,3个并发肯定是不行的,所以先将载数
并发数调整到30
,超时时间调整到15分钟
。
目前程序都
正常运行
,没有出现问题
,以后要是这个配置扛不住的话,往上加就好了,当然也不是越大越好,根据自己的实际场景
在这两者之间做一个权衡
。
5 躺板板
红伞伞白杆杆,吃完一起躺板板
躺板板埋山山,亲朋都来吃饭饭
饭饭里有红伞伞,吃完全村埋山山,来年长满红伞伞
关注博主不迷路
本博客所有文章除特别声明外,均为原创。版权归博主小马所有。任何团体、机构、媒体、网站、公众号及个人不得转载。如需转载,请联系博主(关于页面)。如其他团体、机构、媒体、网站、博客或个人未经博主允许擅自转载使用,请自负版权等法律责任!