Hbase shell 给出 loadError

Posted

技术标签:

【中文标题】Hbase shell 给出 loadError【英文标题】:Hbase shell giving loadError 【发布时间】:2017-05-13 03:54:43 【问题描述】:

dinesh@dinesh-VirtualBox:/usr/local/hbase-1.2.5/bin$ start-hbase.sh

如下图所示

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

但是 dinesh@dinesh-VirtualBox:/usr/local/hbase-1.2.5/bin$ hbase shell

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

不知道问题出在哪里,有谁知道解决办法,请在这里发帖。提前谢谢!!!!

【问题讨论】:

【参考方案1】:
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

在 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

【讨论】:

以上是关于Hbase shell 给出 loadError的主要内容,如果未能解决你的问题,请参考以下文章

根据下面给出的表格,用Hbase Shell模式设计学生表格。

在 Xshell 中 使用 hbase shell 进入后 无法删除

Shell脚本中实现hbase shell命令调用

shells/hbase.sh

请问hbase shell中向一个已创建的表中添加一个列族该怎么办呢?

hbase shell 基本命令总结