HBase安装部署

1 前提

1.1保证Zookeeper正常部署

首先保证Zookeeper集群的正常部署,试启动:(不需要启动下部署Hbase)

 bin/zkServer.sh start

1.2保证 Hadoop正常部署

Hadoop集群的正常部署试启动:(不需要启动下部署Hbase)

sbin/start-dfs.sh
sbin/start-yarn.sh

1.3 HBase的解压(hbase-1.3.1-bin.tar.gz)

解压HBase到指定目录:

tar -zxvf /opt/software/hbase-1.3.1-bin.tar.gz -C /opt/en

2. HBase的配置文件(进入Hbase的conf)

修改HBase对应的配置文件。

2.1 hbase-env.sh修改内容:

vim /opt/en/hbase-1.3.1/conf/hbase-env.sh

export JAVA_HOME=/opt/en/jdk1.8.0_144
export HBASE_MANAGES_ZK=false
并注释掉:

img

2.2 hbase-site.xml修改内容:

vim /opt/en/hbase-1.3.1/conf/hbase-site.xml
<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://hadoop0:9000/hbase</value>
</property>

<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>

<!-- 0.98后的新变动,之前版本没有.port,默认端口为60000 -->
<property>
    <name>hbase.master.port</name>
    <value>16000</value>
</property>

<property>
    <name>hbase.zookeeper.quorum</name>
    <value>hadoop0,hadoop1,hadoop2</value>
</property>


<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/opt/en/zookeeper-3.4.10/zkData</value>
</property>
</configuration>

2.3 替换regionservers里的内容:

vim /opt/en/hbase-1.3.1/conf/regionservers

Hadoop0
Hadoop1
Hadoop2

3.HBase远程发送到其他集群

# 分发至hadoop1
rsync -av /opt/en/hbase-1.3.1/ root@hadoop1:/opt/en/hbase-1.3.1/
# 分发至hadoop2
rsync -av /opt/en/hbase-1.3.1/ root@hadoop2:/opt/en/hbase-1.3.1/

4. HBase服务的启动

4.1启动Hadoop和zookeeper

Zookeeper正常启动:

zk-cluster.sh start

Hadoop正常部署启动:

hadoop-cluster.sh start

4.2三台节点时间同步

第一步:sudo yum install ntp ntpdate -y --disablerepo="*" --enablerepo="base" --setopt="base.baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/"
第二步:ntpdate cn.pool.ntp.org

4.3:单启

前提:

img

执行:

[root@hadoop105 hbase]# bin/hbase-daemon.sh start master
img
[root@hadoop105 hbase]# bin/hbase-daemon.sh start regionserver

4.4启动方式2:群起

[root@hadoop105 hbase]# /opt/en/hbase-1.3.1/bin/start-hbase.sh
img

对应的停止服务:

[root@hadoop105 hbase]# /opt/en/hbase-1.3.1/bin/stop-hbase.sh

4.5关闭

4.6 查看HBase页面

启动成功后,可以通过“host:port”的方式来访问HBase管理页面,例如:

http://hadoop0:16010

image-20250402190209593

5、控制脚本

#!/bin/bash

# HBase安装路径
HBASE_HOME="/opt/en/hbase-1.3.1"

# 检查HBase安装目录是否存在
if [ ! -d "$HBASE_HOME" ]; then
  echo "Error: HBase installation directory not found: $HBASE_HOME"
  exit 1
fi

# 启动HBase
start() {
  echo "Starting HBase..."
  "${HBASE_HOME}/bin/start-hbase.sh"
}

# 停止HBase(先正常停止,再检查残留进程)
stop() {
  echo "Stopping HBase..."
  "${HBASE_HOME}/bin/stop-hbase.sh"
  
  # 检查并强制终止残留进程
  sleep 2
  local pids=$(jps 2>/dev/null | grep -Ew 'HMaster|HRegionServer' | awk '{print $1}')
  if [ -n "$pids" ]; then
    echo "Force killing remaining processes..."
    kill -9 $pids 2>/dev/null
  fi
}

# 检查服务状态
status() {
  local pids=$(jps 2>/dev/null | grep -Ew 'HMaster|HRegionServer')
  if [ -n "$pids" ]; then
    echo "HBase is running"
    echo "$pids"
  else
    echo "HBase is not running"
  fi
}

# 重启服务
restart() {
  stop
  sleep 3
  start
}

# 参数处理
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    status
    ;;
  restart)
    restart
    ;;
  *)
    echo "Usage: $0 {start|stop|status|restart}"
    exit 1
esac

exit 0

使用说明:

  1. 保存脚本为hbase-ctl.sh
  2. 赋予执行权限:
chmod +x hbase-ctl.sh
mv hbase-ctl.sh /usr/local/bin

功能说明:

# 启动
hbase-ctl.sh start
# 停止
hbase-ctl.sh stop
# 查看状态
hbase-ctl.sh status
# 重启
hbase-ctl.sh restart
  • 启动时会调用HBase原生的start-hbase.sh
  • 停止时会先尝试正常停止,2秒后检查残留进程并强制终止
  • 状态检查通过jps命令查看HMaster/HRegionServer进程
  • 添加了安装目录存在性检查
  • 所有HBase命令输出会被静默处理(如需查看详细信息可移除2>/dev/null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值