温馨提示×

hbase在ubuntu上的启动步骤

小樊
34
2025-12-14 18:05:31
栏目: 智能运维

在 Ubuntu 上启动 HBase 的标准流程


一 环境准备与前置检查

  • 安装并验证 Java(推荐 JDK 8 或 11):java -version
  • 如使用 HDFS(伪分布式/分布式),先安装并启动 Hadoop,并确认 NameNode 监听 9000 端口:hadoop versionjps 能看到 NameNode/DataNode
  • 配置 SSH 免密登录(本地或集群节点间):ssh localhost 能无密码登录
  • 下载并解压 HBase,建议放到 /usr/local/hbase;设置环境变量(示例):
    • export HBASE_HOME=/usr/local/hbase
    • export PATH=$PATH:$HBASE_HOME/bin:$HBASE_HOME/sbin
  • 版本兼容提示:HBase 2.x 通常搭配 Hadoop 2.7.x/3.1.x+JDK 8 更稳妥;HBase 2.4.x 也可在 JDK 11 下运行(以官方兼容矩阵为准)。

二 配置要点

  • 编辑 conf/hbase-env.sh:设置 JAVA_HOME(如:/usr/lib/jvm/java-8-openjdk-amd64/usr/lib/jvm/java-11-openjdk-amd64);单机/伪分布常用内置 ZooKeeperexport HBASE_MANAGES_ZK=true
  • 编辑 conf/hbase-site.xml(两种常用场景,二选一或按你的环境调整):
    • 单机本地存储(不依赖 HDFS)
      <configuration>
        <property>
          <name>hbase.rootdir</name>
          <value>file:///usr/local/hbase/hbase-tmp</value>
        </property>
      </configuration>
      
    • 伪分布式(使用本地 HDFS)
      <configuration>
        <property>
          <name>hbase.rootdir</name>
          <value>hdfs://localhost:9000/hbase</value>
        </property>
        <property>
          <name>hbase.cluster.distributed</name>
          <value>true</value>
        </property>
        <property>
          <name>hbase.zookeeper.quorum</name>
          <value>localhost</value>
        </property>
      </configuration>
      
  • 注意:若未显式设置 hbase.rootdir,默认会写到 /tmp/hbase-${user.name},系统重启后数据会丢失。

三 启动步骤

  • 启动顺序(伪分布式/分布式):先启动 Hadoop HDFS → 再启动 HBase
    • 启动 HDFS:start-dfs.sh(或 start-all.sh
    • 启动 HBase:
      • 脚本方式:start-hbase.sh(会自动拉起 HMasterHRegionServer
      • 或手动方式(便于排查):
        • ./bin/hbase-daemon.sh start master
        • ./bin/hbase-daemon.sh start regionserver
  • 验证进程:jps 应能看到 HMasterHRegionServer(以及 HDFSNameNode/DataNode
  • 进入命令行:bin/hbase shell,可执行 list 等简单命令验证
  • 停止顺序:先停 HBase → 再停 Hadoop
    • stop-hbase.sh(或 ./bin/hbase-daemon.sh stop masterstop regionserver)。

四 常见排错与快速验证

  • 进程未起来或端口未监听:查看 HBASE_HOME/logs/hbase-*.log;确认 HDFS 已启动且 hbase.rootdir 指向正确的 HDFS 地址(如 hdfs://localhost:9000/hbase
  • 使用 HDFS 却报连接/协议不一致:核对 Hadoop 与 HBase 版本匹配与依赖一致性,避免 HBase lib 中残留旧版 Hadoop 包导致 RPC 不兼容
  • 本地模式数据丢失风险:确认 hbase.rootdir 不是默认的 /tmp 路径,建议显式配置到持久目录(如 file:///usr/local/hbase/hbase-tmp
  • 主机名解析问题:检查 /etc/hosts,避免 127.0.1.1127.0.0.1 混用导致 MasterNotRunningException 等异常
  • Web 管理界面:在浏览器访问 http://localhost:16010(HMaster Web UI,端口以实际配置为准)。

0