NEXT_LOCK_ID 始终有锁,无法删除数据。;1、停止hiveserver2,MetaStore 服务;发现还有锁;2、查看hive应用进程 ps -ef|grep hive,全部杀掉,锁释放;3、然后删除NEXT_LOCK_ID一条记录;4、重启hiveserver2,MetaStore;5、查询hive 恢复正常。
原因可能是多个进程同时 *** 作,导致hive事务上的bug,插进了2条一样的数据,导致元数据库被锁以下几个hive元数据表跟hive的事务有关:NEXT_LOCK_ID;next_compaction_queue_id;next_txn_id;以上三个表出问题就有可能会报以下错误: error in acquiring locks: error communicating with the metastore.hive 卡死的原因很多,这个是其中之一,基本都hive metastore会有一些关系,大家可以按这个方向去定位原因,就能更快速寻找到问题的根源。
hdfs显示但是hive里面没有的话,很可能hive配置使用的是自带的deby数据库。hive的配置文件弄好,如果用sqoop的话,把hive的配置文件hive-site.sh拷贝一份到sqoop的conf目录下,让sqoop知道保存的数据是到mysql元数据库的hive。可能是分区信息没有添加到hive元数据表中。虽然分区文件有了,但是也得在数据表中把9870的数据加上。解决方法:运行命令msckrepairtable9870,修复hive分区将分区信息加到元数据表即可。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)