Linux怎么安装HBase分布式数据库

落晨酱_7609

落晨酱_7609

2026-07-01

435人浏览

原创

hbase不能单独安装成分布式数据库,必须依赖hadoop hdfs和zookeeper才能运行;其“分布式”本质是hmaster与hregionserver多节点部署、数据存于hdfs、集群状态由zookeeper协调。

linux怎么安装hbase分布式数据库

直接上结论:HBase 不能“单独”安装成分布式数据库,它必须依赖 Hadoop HDFS 和 ZooKeeper 才能真正跑起来;所谓“分布式”,本质是 HBase 自身组件(HMaster、HRegionServer)在多节点上部署 + 数据底层存于 HDFS + 集群状态由 ZooKeeper 协调。单靠解压一个 hbase-x.x.x-bin.tar.gz,不配 HDFS 和 ZooKeeper,连伪分布式都起不来。

为什么 hbase.cluster.distributed=true 却起不来?

这是最常卡住的第一步。设了 hbase.cluster.distributed 为 true,但没配好 HDFS 或 ZooKeeper,start-hbase.sh 看似执行成功,jps 却看不到 HMaster 或 HRegionServer —— 实际日志($HBASE_HOME/logs/hbase-*.log)里通常报 Connection refused 或 No route to host。

  • 根本原因:HBase 启动时会尝试连接 hbase.rootdir 指向的 HDFS 地址(如 hdfs://namenode:9000/hbase),如果 HDFS 没启动、NameNode 没格式化、或端口不通,就卡死
  • HBASE_MANAGES_ZK=true 仅表示 HBase 自带 ZooKeeper,但它的进程(QuorumPeerMain)必须能绑定 2181 端口;若该端口被占用,或 hbase.zookeeper.property.dataDir 指向的路径无写权限,ZK 就起不来,HBase 也跟着挂
  • 检查顺序必须是:先 hdfs namenode -format → start-dfs.sh → 再 start-hbase.sh,跳过 HDFS 直接启 HBase 必败

hbase.rootdir 路径写 file:// 还是 hdfs://?

取决于你要跑什么模式。写错路径会导致数据全丢或根本无法写入:

  • 单机模式(开发调试用):用 file:///usr/local/hbase/hbase-tmp,注意是三个斜杠,且路径必须存在、有读写权限;hbase.cluster.distributed 设为 false
  • 伪分布式 / 完全分布式:必须用 hdfs://namenode-host:9000/hbase(端口以你的 core-site.xml 中 fs.defaultFS 为准);hbase.cluster.distributed 必须为 true,且 HDFS 必须已启动
  • 常见坑:hbase.rootdir 值末尾不要加 /(如 hdfs://localhost:9000/hbase/ 错),HBase 会自动补,加了反而解析异常;路径中的主机名必须能在所有节点 ping 通,不能只写 localhost(除非真只在本机跑伪分布)

启动后 jps 看不到 HMaster?查这三处日志

别急着重装,90% 的问题都能从日志定位:

linux-sysadmin
linux-sysadmin

Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...

下载
  • $HBASE_HOME/logs/hbase-<user>-master-<hostname>.log</hostname></user>:主节点启动失败原因,比如 ZK 连不上、HDFS 访问被拒绝、Java 版本不兼容(HBase 2.4+ 要 JDK 8u191+ 或 JDK 11)
  • $HBASE_HOME/logs/hbase-<user>-regionserver-<hostname>.log</hostname></user>:RegionServer 启不起来,常见于 hbase.rootdir 不可达,或 RegionServer 所在节点没配 SSH 免密(完全分布式必需)
  • $HBASE_HOME/logs/hbase-<user>-zookeeper-<hostname>.log</hostname></user>(当 HBASE_MANAGES_ZK=true):ZooKeeper 是否成功 bind 2181,dataDir 权限是否 OK,有没有其他进程占着端口

顺带一提:hbase shell 连不上,99% 是因为 HMaster 根本没起来,不是客户端问题。

完全分布式时,hbase-env.sh 和 hbase-site.xml 怎么分发?

不能只改 master 节点,所有 RegionServer 节点的配置必须一致,否则集群分裂:

  • hbase-env.sh 中的 JAVA_HOME、HBASE_CLASSPATH、HBASE_MANAGES_ZK 必须全集群统一;若用外部 ZooKeeper,所有节点都要设 HBASE_MANAGES_ZK=false
  • hbase-site.xml 的 hbase.rootdir、hbase.zookeeper.quorum(当用外置 ZK)、hbase.cluster.distributed 必须完全一致;hbase.zookeeper.quorum 值是逗号分隔的 ZooKeeper 节点 host 列表,如 zk1,zk2,zk3,不是 localhost
  • 别手动拷贝文件:用 scp 或 Ansible 同步,改完一个节点后,务必验证其他节点对应路径下文件内容 MD5 是否一致;hbase-site.xml 里任何一处空格、换行、中文标点都会导致 XML 解析失败,启动静默失败

真正麻烦的从来不是下载和解压,而是 HDFS、ZooKeeper、HBase 三者版本对齐(比如 HBase 2.4.17 对应 Hadoop 3.3.x,ZooKeeper 3.6.x),以及网络、权限、时间同步这些“看不见”的环节——它们不出错时你感觉不到,一出错就全链路崩。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1933

5

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.07

2694

5

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

2023.06.29

2405

3

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2023.08.14

3721

10

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

2023.08.31

2611

3

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.05

887

5

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

2327

5

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

2023.10.16

2347

4

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

2023.10.16

2793

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习