1.Active NameNode hang死,未自动切换
#登录当前hang死 Active namenode主机,停止Namenode,触发自
动切换。hadoop-daemon.sh stop namenode#如果自动切换未触发,转手动切换【可选】hdfs haadmin -ns bdpfinance - transitionToActive --forceactive nn2 --forcemanual*假设原active节点为nn12.误删
1)确认删表语句或命令
拿到用户的删表语句如 drop table t1;;2)确认表路径desc formatted t1; 返回:/hive/warehouse/db1/t13)确认回收站是否有数据如/user/hive/.Tash/Current/hive/warehouse/db1/t14)移动数据回原目录hadoop fs -mv /user/hive/.Tash/Current/hive/warehouse/db1/t1 /hive/warehouse/db1/3.连接个别HiveServer卡住(hdfs正常,metastore正常)
1. 确认HiveServer是否
真的卡住(以10.116.107.10,端口10000为例):beeline -u jdbc:hive2://10.116.107.10:10000 -n hive -p hive2. 若确认该HiveServer异常,第一时间将其从zk 中踢出,防止新的连接又被分配到这台:a. 登录10.116.100.5,进入zk命令行:/app/zookeeper/bin/zkCli.shb. 删除/hiveserver2 的znode下,相应主机名、端口的记录:rmr /hiveserver2/serverUri=主机名:端口;version=2.1.1;sequence=xxxxxxxxx3. 检查该进程堆内存情况:a. 找到相应hiveserver的pid(根据不同hive实例,端口可能为10000,11000或12000):pid=`lsof -i :10000 |grep -i listen|awk '{print $2}'`b. 打印出堆内存信息:jmap -heap $pid看结果中的"G1 OldGeneration",如果是99.xxxxxxxxx% used,则hiveserver内存爆了,重启即可。4. 重启命令a. 停止HiveServer:systemctl stop hiveserver-10000.servicep.s.根据端口不同,服务名可以是(hiveserver-10000.service,hiveserver-11000.service, hiveserver-12000.service)b. 启动HiveServer:systemctl start hiveserver-10000.service