Hbase 集群启动脚本分析

本文深入分析了Hbase集群启动的过程,包括start-hbase.sh、hbase-daemon.sh和hbase-daemons.sh脚本的作用,以及ZooKeeper和HMaster的启动细节。在分布式模式下,启动顺序涉及Zookeeper、HMaster和RegionServer等关键组件。通过hbase守护进程启动各个服务,确保集群正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

本文主要分析一下Hbase集群启动过程,只涉及到核心过程,不涉及到具体内容,hbase的版本是hbase-0.94.27.tar

整体流程:

  1. 运行start-hbase.sh脚本
  2. 执行 $bin/hbase-config.sh 设置配置参数
  3. 根据集群启动是否是分布式的模式,在本地仅启动master或者启动整个集群
  4. 判断启动模式:重新启动集群(restart)or初次启动集群(start)(缺省:start)
  5. 如果是分布式模式,依次启动如下服务:
    启动zookeeper org.apache.hadoop.hbase.zookeeper.HQuorumPeer(这种情况是使用HBase自身管理Zookeeper)
    启动master org.apache.hadoop.hbase.master.HMaster
    启动${HBASE_REGIONSERVERS}目录中指定的regionserver org.apache.hbase.regionserver.HRegionServer
    启动${HBASE_BACKUP_MASTERS}中指定的master-backup
  6. 启动5中的服务会调用hbase-daemons.sh脚本,而该脚本最终调用hbase脚本启动服务对应的进程

start-hbase.sh脚本

  1. 执行hbase-config.sh脚本,设置环境变量
    这里写图片描述
  2. 判断集群启动的模式,autorestart 或者start[默认]
    这里写图片描述
  3. 判断分布模式
### 启动HBase集群的操作指南 #### 1. 修改配置文件 为了确保HBase集群正常启动,需先编辑`hbase-env.sh`文件来设置必要的环境变量。具体来说,可以在`${HBASE_HOME}/conf/hbase-env.sh`中加入如下配置以禁用Hadoop类路径查找: ```bash export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"[^3] ``` 这一步骤有助于减少因依赖冲突引起的问题。 #### 2. 执行启动脚本 完成上述配置更改之后,在主节点(例如名为 `hadoop001` 的机器上),切换到 `${HBASE_HOME}/bin` 目录下并执行以下命令来启动整个HBase集群: ```bash start-hbase.sh[^2] ``` 该指令会触发一系列后台进程的初始化工作,包括但不限于: - 在指定为主服务器(`Master`)的角色实例所在的主机(hadoop001)上激活主要管理组件; - 如果存在冗余设计,则在同一网络内的另一台计算机(hadoop002)上开启备用主控单元(Backup Master Service); - 根据预先定义于regionservers列表中的成员信息,分别在这几处位置设立相应的区域服务端点(region servers),从而形成分布式存储架构的基础框架。 #### 3. 验证服务状态 一旦启动过程结束,建议立即检查各个组成部分的工作状况。可以通过访问各节点上的日志记录或者利用专门工具来进行健康度评估,以此确认所有预期的服务均已顺利上线运行[^4]。 ```python import os def check_hbase_status(): status_command = "jps | grep -E 'HMaster|HRegionServer'" result = os.popen(status_command).read() if not result.strip(): print("No active HBase services found.") else: print(f"Active HBase processes:\n{result}") check_hbase_status() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值