修复hbase Shell里面的list命令不可用
进入Hbase Shell
hbase shell
使用list命令查看所有表时报错
hbase(main):001:0> list TABLE ERROR: Can't get master address from ZooKeeper; znode data == null Here is some help for this command: List all tables in hbase. Optional regular expression parameter could be used to filter the output. Examples: hbase> list hbase> list 'abc.*' hbase> list 'ns:abc.*' hbase> list 'ns:.*'
重启Hbase
cd hbase-1.2.0-cdh5.7.0 bin/start-hbase.sh
重启后依旧报错,此时先关闭Hbase集群
bin/stop-hbase.sh stopping hbase...................
执行修复metadata命令
hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair
进入zookeeper command
bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls / [consumers, solr, yarn-leader-election, spark, controller_epoch, isr_change_notification, hbase, hadoop-ha, zookeeper, admin, config, kafka-manager, brokers]
[zk: localhost:2181(CONNECTED) 1] rmr /hbase
重启hbase集群
bin/start-hbase.sh
此时可以正常使用hbase shell,但是还有一个问题就是每次启动hbase的时候总会提示如下:
master running as process 12422. Stop it first.
第二种方案
如果第一种方案无法修复,那么就是第二种方案吧
在使用 Hbase shell 时,一直报错。花了半个多小时解决这个问题。解决如下:
- 关闭Hadoop集群。
- 格式化hdfs 进入Hadoop目录下 : bin/hdfs namenode -format //丢数据
- 启动 hadoop集群
- 启动 hbase集群
- hbase shell status