无法连接 Hbase shell

Can't connect Hbase shell

我已经在 Mac OS X 10.11.6 上安装了 Hbase 1.2.6 仅用于独立测试目的。 我已经配置了 hbase-site.xmlhbase-env.sh。 给出命令 ./hbase shell 启动 shell 我遇到以下错误

    $ bin/hbase  shell
Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.jruby.java.invokers.RubyToJavaInvoker (file:/Users/user/Hbase/Hb126/lib/jruby-complete-1.6.8.jar) to method java.lang.Object.registerNatives()
WARNING: Please consider reporting this to the maintainers of org.jruby.java.invokers.RubyToJavaInvoker
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
ArgumentError: wrong number of arguments (0 for 1)
  method_added at file:/Users/user/Hbase/Hb126/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:10
  method_added at file:/Users/user/Hbase/Hb126/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:129
       Pattern at file:/Users/user/Hbase/Hb126/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:2
        (root) at file:/Users/user/Hbase/Hb126/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:1
       require at org/jruby/RubyKernel.java:1062
        (root) at file:/Users/user/Hbase/Hb126/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:42
        (root) at /Users/user/Hbase/Hb126/bin/../bin/hirb.rb:38

Java版本:

java 9.0.4
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

Jruby 版本:

jruby 9.1.15.0 (2.3.3) 2017-12-07 929fde8 Java HotSpot(TM) 64-Bit Server VM 9.0.4+11 on 9.0.4+11 +jit [darwin-x86_64]

有什么帮助吗?

Hbase 目前不支持Java9。

https://issues.apache.org/jira/browse/HBASE-12081

尝试在 hbase-env

中设置不同的 JAVA_HOME

问题是 Java 9,Java 8 脚本工作正常。 我已经安装了 Java 8 并更改了 conf/hbase-env.sh

中的 JAVA_HOME 变量

根据 this SO 答案,将 /usr/local/Cellar/hbase/1.2.6/libexec/conf/hbase-env 中的 JAVA_HOME 更改为

export JAVA_HOME="$(/usr/libexec/java_home -v '1.8*')"