Mac环境下无法启动HBase Shell问题求助
HBase Shell连接报错
NotImplementedError: fstat unimplemented的解决办法 问题场景
已部署ZooKeeper与HBase 2.5.7,HBase服务正常启动且能访问Web UI,但启动HBase Shell时触发以下错误:
HBase Shell Use "help" to get list of supported commands. Use "exit" to quit this interactive shell. For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell Version 2.5.7, r6788f98356dd70b4a7ff766ea7a8298e022e7b95, Thu Dec 14 15:59:16 PST 2023 Took 0.0000 seconds NotImplementedError: fstat unimplemented unsupported or native support failed to load; see https://github.com/jruby/jruby/wiki/Native-Libraries initialize at org/jruby/RubyIO.java:1015 open at org/jruby/RubyIO.java:1156 initialize at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/irb/input-method.rb:141 initialize at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/irb/context.rb:70 initialize at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/irb.rb:410 initialize at uri:classloader:/irb/hirb.rb:50 <main> at classpath:/jar-bootstrap.rb:225
使用Java 11环境。
解决步骤
临时禁用JRuby native库:启动HBase Shell前,先设置环境变量禁用JRuby的native支持,避免fstat调用报错:
export JRUBY_OPTS="-J-Djruby.native.enabled=false" hbase shellWindows环境用cmd执行:
set JRUBY_OPTS=-J-Djruby.native.enabled=false hbase shell永久配置到HBase环境:编辑HBase安装目录下的
conf/hbase-env.sh,添加以下配置,之后每次启动Shell都会自动生效:export JRUBY_OPTS="-J-Djruby.native.enabled=false"切换终端测试:部分终端的IO交互模式会导致JRuby的fstat调用异常,尝试换成系统默认终端(比如bash)再启动Shell。
验证Java环境:确保
JAVA_HOME指向正确的Java 11路径,执行echo $JAVA_HOME和java -version确认版本匹配,避免多Java版本干扰。
内容的提问来源于stack exchange,提问作者Arun
相关产品推荐
相关产品推荐

