赞
踩
Hbase出现ERROR: Can’t get master address from ZooKeeper; znode data == null解决办法
问题列表(同时出现的):
2019-04-11 15:09:33,089 INFO [node111:16000.activeMasterManager] master.RegionStates: Transition {1a79ef4199d6f0d80bcba8e83c5e4c67 state=OPEN, ts=1554966573089, server=node116,16020,1554893456913} to {1a79ef4199d6f0d80bcba8e83c5e4c67 state=OFFLINE, ts=1554966573089, server=node116,16020,1554893456913}
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/region-in-transition
Zookeeper客户端错误:Packet len* is out of range!
解决办法:
步骤一: 添加参数 “-Djute.maxbuffer=41943040” \
找到zkCli.sh,最下面的java命令中添加对jute.maxbuffer的定义(使用D参数):
"$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
"-Djute.maxbuffer=41943040" \
-cp "$CLASSPATH" $CLIENT_JVMFLAGS $JVMFLAGS \
org.apache.zookeeper.ZooKeeperMain "$@"
步骤二:
运行zkCli.sh (在zookeeper集群的三台机子的leader机子上)
rmr /hbase
然后重新启动zookeeper和hbase集群。
步骤三:
# 查看hbase中损坏的block hbase hbck # 修复hbase hbase hbck -repair 关闭balance,防止在停掉服务后,原先节点上的分片会迁移到其他节点上,到时候在移回来,浪费时间。 hbase(main):001:0> balance_switch true # 修复 .META表 hbase hbck -fixMeta # 当出现漏洞 hbase hbck -fixHdfsHoles # 缺少regioninfo hbase hbck -fixHdfsOrphans # hbase region 引用文件出错 # Found lingering reference file hdfs: hbase hbck -fixReferenceFiles # 修复assignments问题 hbase hbck -fixAssignments
region in transition的问题
强制删除hbase某表的方法
第一步:hdfs强制删除,首先找到hdfs上该表所在的位置,然后删除
hadoop dfs -rm -r -f /usr/cwgis/data/hbase/tmp/hbase/data/default/rr500000_ed2009_dltb_1661w_SPATIAL_IDX_ROUND_ROBIN_500000
第二步:删除zookeeper中的/hbase/table/的某表名称
zkCli.sh
delete /hbase/table/rr500000_ed2009_dltb_1661w_SPATIAL_IDX_ROUND_ROBIN_500000
—the—end—
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。