HBase HA集群是基于Hadoop HA集群的,在搭建HBase HA集群之前需要先有1个运行正常的Hadoop HA集群环境。在做完相关HBase配置后,启动HBase时,只有主HBase启动正常,备用HBase及Region全部没有启动,排查发现是启动时报错了:
java.net.UnknownHostException: HadoopCluster
这是因为,HBase没有识别HadoopCluster这个集群,解决这个问题的方法是把Hadoop的2个配置文件(core-site.xml和hdfs-site.xml),放到HBase的conf目录下,让HBase能找到Hadoop的配置。
java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.protobuf.ProtobufUtil at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64) at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:75) at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:105) at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:916) at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementati