惨痛教训:一定要下互相兼容的版本,很多错误都是版本不兼容引起。
Macos:M2/14.0
Hadoop:3.3.6
Hbase:2.3.7
Jdk:1.8
1.安装Hadoop总体参考这篇博客:
不过博主有一步路径写错:
应该是:/opt/homebrew/Cellar/hadoop/3.3.6/libexec/bin
2.安装 Hbase
报错 1: 无法启动 Hmaster
原因:hdfs 和 hbase 配置的端口不匹配
HBase/conf/core-site.xml hdfs://localhost 要与
hbase-site.xml 文件中 hbase-rootdir hdfs://local:9000/hbase 相同
报错 2:Hbase 能正常使用,但是 Hbase shell 启动失败,提示Hbase 的jruby版本问题:
NotImplementedError: fstat unimplemented unsupported or native support failed to load; see http://wiki.jruby.org/Native-Libraries
initialize at org/jruby/RubyIO.java:1013
open at org/jruby/RubyIO.java:1154
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:426
initialize at /home/downloads/hbase-2.2.3/lib/ruby/irb/hirb.rb:47
start at /home/downloads/hbase-2.2.3/bin/../bin/hirb.rb:207
<main> at /home/downloads/hbase-2.2.3/bin/../bin/hirb.rb:219
尝试方法1
失败:
sudo apt-get install jruby -y
sudo apt-get install asciidoctor -y
尝试方法 2
似乎是 macos 系统与 Hbase 不兼容的问题,下载 Hbase3.0.0 版本,将原本 Hbase 路径下的[hbase-root-dir]/lib/ruby下的 jar 包用 jruby-complete-9.3.4.0.jar 换掉:
顺利解决。
参考:java M1 MacOS上的Hbase shell错误:fat文件,但缺少兼容的体系结构(有'i386,x86_64',需要' arm64e') _大数据知识库