如果配置hbase伪分布式集群时用hbase自带的zookeeper,先启动Hadoop上的守护进程,然后启动HBase.
启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop.
cd /usr/local/hadoop
./sbin/start-all.sh #启动Hadoop所有守护进程
cd /usr/local/hbase
/bin/start-hbase.sh #启动Hbase
报错是异常耗尽,无法获取位置。查看zookeeper的启动日志,发现已经启动了,但是zookeeper中读到集群的ID为空,说明zookeeper没有找到集群ID的位置。可以尝试:(1)先关闭hbase和hadoop所有守护进程,并且格式化hadoop:bin/hdfs namenode -format,后重启Hadoop和Hbase,此法单机/伪分布式通用。(2)重新按照完整顺序安装配置一遍,确保Hbase的各项配置无误,还是用自带的zookeeper,设置export HBASE_MANAGES_ZK=true,我就这样解决了。