问题描述
因为hbase版本的原因,我更换了hbase的版本之后,打开hbase shell查询表,报错如下:
如何解决
出现上述问题一般是HRegionserver节点挂掉的原因。
-
首先第一步,jps查看自己的HRegionserver节点是否正常开启(多半是挂掉的)
-
查看配置文件HBase-site.xml文件(我的问题就出在了这里 由于重新换了版本安装 还并没有和phoneix作整合 需要将该配置文件中的关于Phoenix映射的配置全部注释掉 否则HRegionServer无法正常启动 )
以下是正确的配置文件
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
/**
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/export/data/hbase/tmp</value>
<!--这个tmp临时文件在hbase的安装目录下要新建一个-->
</property>
<property>
<name>hbase.master</name>
<value>node1:16010</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2,node3:2181</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/export/servers/zookeeper/data</value>
</property>
</configuration>
3.关闭hbase,删除hdfs上的/hbase ,重启hbase
--关闭hbase
stop-hbase.sh
--删除/hbase
hadoop fs -rm -r /hbase
--启动hbase
start-hbase.sh
注意:遇到这种错多看看配置文件是否正确,多重启hbase(重启需要把/hbase给删除),也就是按照步骤3再来一遍。
我的表达能力着实有限,希望对你有所帮助。