You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HBase Shell启动后无法正常使用,JettyAdminServer加载失败求助

HBase Shell无法正常使用的解决方案(针对ServerNotRunningYetException及Jetty类缺失问题)

核心问题定位

你遇到的org.apache.hadoop.hbase.ipc.ServerNotRunningYetException本质是:虽然jps显示HMaster进程存在,但实际因Jetty依赖缺失,HMaster未完成初始化,导致HBase集群未真正就绪;ZooKeeper日志中的java.lang.NoClassDefFoundError: org/eclipse/jetty/server/Connector直接证实了Jetty核心类未被加载。


可行解决方案

1. 补全Jetty依赖包

  • 检查HBase安装目录下的$HBASE_HOME/lib文件夹,确认是否存在jetty-server-*.jar、jetty-util-*.jar、jetty-io-*.jar等核心Jetty依赖。
  • 若缺失,从对应版本的HBase官方安装包中提取完整的Jetty依赖jar包,复制到$HBASE_HOME/lib目录;或下载与HBase版本兼容的Jetty包(HBase 2.x通常对应Jetty 9.x系列)。

2. 配置HBase类路径

  • 编辑$HBASE_HOME/conf/hbase-env.sh文件,添加以下配置确保HBase能加载Jetty依赖:
    export HBASE_CLASSPATH=$HBASE_CLASSPATH:$HBASE_HOME/lib/*
    
  • 若Hadoop的lib目录存在同类型Jetty包,为避免版本冲突,建议将Hadoop中冲突的Jetty jar包临时重命名(如添加.bak后缀),优先使用HBase自带的Jetty版本。

3. 重启相关服务

  • 停止HBase服务:
    stop-hbase.sh
    
  • 用jps检查并终止所有残留的HBase进程(如HMaster、HRegionServer):
    kill -9 <进程ID>
    
  • 重启ZooKeeper(若为HBase自带ZooKeeper):
    $HBASE_HOME/bin/hbase zkServer restart
    
  • 重新启动HBase:
    start-hbase.sh
    

4. 验证修复效果

  • 启动HBase Shell,执行status命令,若返回集群状态信息则说明问题解决;
  • 查看ZooKeeper日志(路径通常为$HBASE_HOME/logs/zookeeper-*.log),确认无Jetty加载错误;
  • 访问HBase Web UI(默认端口16010),检查HMaster是否正常运行。

内容的提问来源于stack exchange,提问作者Xuan Chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 06:12:10