2017-05-13 60 views
0

迪內希@迪內希 - VirtualBox的:/usr/local/hbase-1.2.5/bin$ start-hbase.shHBase的外殼給人loadError

它顯示了以下

localhost: zookeeper running as process 6637. Stop it first. 
starting master, logging to /usr/local/hbase-1.2.5/logs/hbase-dinesh-master-dinesh-VirtualBox.out 
starting regionserver, logging to /usr/local/hbase-1.2.5/logs/hbase-dinesh-1-regionserver-dinesh-VirtualBox.out 

但 迪內希@迪內希 - VirtualBox的:/usr/local/hbase-1.2.5/bin$ HBase的外殼

LoadError: load error: hbase -- java.lang.reflect.InaccessibleObjectException: Unable to make member of class 
sun.nio.cs.Unicode accessible: module java.base does not export 
sun.nio.cs to unnamed module @5befbac1 
require at org/jruby/RubyKernel.java:1062 
(root) at /usr/local/hbase-1.2.5/bin/hirb.rb:118 

HBase的-site.xml中

<configuration> 
<property> 
<name>hbase.rootdir</name> 
<value>hdfs://localhost:54310/hbase</value> 
</property> 
<property> 
<name>hbase.cluster.distributed</name> 
<value>true</value> 
</property> 
</configuration> 

hbase-env.sh我下面加線

export JAVA_HOME=/usr/lib/jvm/java-9-openjdk-amd64 

在.bashrc文件,如下行

export HBASE_HOME=/usr/local/hbase-1.2.5 
export PATH=$PATH:$HBASE_HOME/bin 

加了不知道哪裏出了問題,任何人都知道這個解決方案,然後請張貼在這裏。先謝謝你!!!!

回答

0
First stop hbase using command **./bin/stop-hbase.sh** 
If the zookeeper process is still running, kill it. (kill -9 process_id) 


You have configured hbase to run in **distributed mode** yet 'localhost' is used in the hbase.rootdir. 
I would expect to see something like hdfs://xx.xx.xx.xx:54310/hbase. 

Have you added the conf/regionservers file which lists all your regionservers ? This is mandatory if hbase is run in distributed mode. 

In hbase-env.sh add the folLowing line 
export HBASE_MANAGES_ZK=true, if you are not managing the zookeeper daemon 

添加以下兩個屬性IN HBASE-SITE.XML

<property> 
     <name>hbase.zookeeper.property.clientPort</name> 
     <value>2181</value> 
     <description>Property from ZooKeeper's config zoo.cfg. 
     The port at which the clients will connect. 
     </description> 
    </property> 
    <property> 
     <name>hbase.zookeeper.quorum</name> 
     <value>HOSTS_WHERE_ZOOKEEPER_IS_RUNNING</value> 
    </property> 

The hbase.zookeeper.quorum property is a comma-separated list of hosts on which ZooKeeper servers are running. 



HBase logs can be found in the logs subdirectory. Check them out if you still have trouble starting hbase