环境:CDH6.2.1,Java8
| HDFS | 3.0.0+cdh6.2.1 |
| Hive | 2.1.1+cdh6.2.1 |
| ZooKeeper | 3.4.5+cdh6.2.1 |
| Sqoop | 1.4.7+cdh6.2.1 |
| Flume NG | 1.9.0+cdh6.2.1 |
问题:假期服务器突然断电,导致正在查询的hive进程异常,重启系统之后,发现hive表不能执行,select、alter都不行,不过是部分表这样。
解决:查看日志并在网上查询后,发现是hive锁的问题,不过办法都试过了,没有用,最后发现好多这种解决办法:
在Hive数据库的元数据存储mysql数据库的hive元数据hive表中执行delete from HIVE_LOCKS where HL_DB = 'cdn' and HL_TABLE = 'cdn_log';比如:https://blog.youkuaiyun.com/w635614017/article/details/89095174 最后select * from HIVE_LOCKS; delete from HIVE_LOCKS where HL_DB = 'hive' and HL_TABLE = 'monitor';
hive查询show locks;找出异常的表信息,挨个删除就好。 |
做完之后,发现查询正常了。
在CDH6.2.1环境下,由于服务器意外断电导致Hive查询异常,部分表无法执行select和alter操作。经过排查确定为Hive锁问题。通过清理Hive元数据存储在mysql的HIVE_LOCKS表中的锁定记录,删除对应表的锁,最终解决了问题,使Hive查询恢复正常。
443

被折叠的 条评论
为什么被折叠?



