环境: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.csdn.net/w635614017/article/details/89095174 最后select * from HIVE_LOCKS; delete from HIVE_LOCKS where HL_DB = 'hive' and HL_TABLE = 'monitor';
hive查询show locks;找出异常的表信息,挨个删除就好。 |
做完之后,发现查询正常了。