Ubuntu 与 HBase 兼容性要点与避坑指南
一 兼容性矩阵与推荐组合
二 常见兼容性问题与快速修复
hbase version 报 “无效变量名” 或 “找不到或无法加载主类 …GetJavaProperty”。conf/hbase-env.sh 中加入 export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true,避免 HBase 扫描 Hadoop 的 jar 包;必要时检查 JAVA_HOME 是否指向 JDK 8。hbase-env.sh 显式设置 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64(路径以实际为准)。status/list 报 ServerNotRunningYetException。java.io.EOFException,日志显示本机名与端口不一致(如 “node1/192.168.30.128” 与 “node1:8020”)。core-site.xml 将 fs.defaultFS 的值由主机名改为 IP 地址(如 hdfs://<本机IP>:8020)。jps 看不到 DataNode。dfs/name/current/VERSION 与 dfs/data/current/VERSION 中的 clusterID 调整为一致后重启 HDFS。JAVA_LIBRARY_PATH 指向 Hadoop 的 lib/native 目录(Linux 下用冒号分隔路径)。localhost:16010 访问。三 Ubuntu 部署与配置要点
JAVA_HOME;Hadoop 与 HBase 版本按矩阵匹配;下载 bin 包而非源码包。conf/hbase-site.xml:
<property><name>hbase.rootdir</name><value>hdfs://localhost:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property>start-dfs.sh → start-hbase.sh;Web UI:http://localhost:16010。hbase-env.sh 设置 export HBASE_MANAGES_ZK=false,并在 hbase-site.xml 配置 hbase.zookeeper.quorum 与 hbase.zookeeper.property.clientPort。hbase.rootdir 指向的 HDFS 目录存在且可写;本地 tmp、logs 目录权限正确;必要时清理后重启。四 快速排查清单
JAVA_HOME、HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP、hbase.rootdir、hbase.cluster.distributed、core-site.xml 的 fs.defaultFS 使用 IP。jps 依次确认 NameNode/DataNode(HDFS)与 HMaster/HRegionServer(HBase)是否齐全。$HBASE_HOME/logs/ 下 HMaster/HRegionServer 日志,优先定位异常栈。status 与 list 验证读写通路。