E-MapReduce的HBase集群启动/停止
方式如下:
前置:
- hbase软件包路径: /usr/lib/hbase-current
- hbase软件配置路径: /etc/emr/hbase-conf/
1. 停止HBase集群
登陆master节点执行
sudo su hdfs
export HBASE_LOG_DIR="/mnt/disk1/log/hadoop-hbase"
/usr/lib/hbase-current/bin/stop-hbase.sh
2. 启动HBase集群
登陆master节点,执行下面脚本
先sudo su hdfs
#/bin/bash
rs_cnt=`cat /etc/hosts | grep emr-worker | grep cluster | wc -l`
master_cnt=1
ha_flag=`grep -r high_availability_enable=true /usr/local/emr/emr-bin/script/`
if [[ ! -z $ha_flag ]];then
master_cnt=2
fi
#start master
for ((i=1; i<=$master_cnt; i++));
do
ssh emr-header-$i 'export HBASE_LOG_DIR="/mnt/disk1/log/hadoop-hbase";/usr/lib/hbase-current/bin/hbase-daemon.sh start master'
done
# start regionservers
for ((i=1; i<=$rs_cnt; i++));
do
ssh emr-worker-$i 'export HBASE_LOG_DIR="/mnt/disk1/log/hadoop-hbase";/usr/lib/hbase-current/bin/hbase-daemon.sh start regionserver'
done
备注:
一般HBase集群停止后,E-MapReduce有进程监控,会自动将相关进程启动,不需要手工执行启动HBase集群。
3.单台起停HBase相关Daemon
3. 1 单台起停HMaster
备注: master节点上执行
- 启动HMaster
$sudo su root
$su -l hdfs -c 'export HBASE_HOME="/usr/lib/hbase-current";export HBASE_CONF_DIR="/etc/emr/hbase-conf";export HBASE_LOG_DIR="/mnt/disk1/log/hadoop-hbase";/usr/lib/hbase-current/bin/hbase-daemon.sh start master'
- 停止HMaster
$sudo su root
$su -l hdfs -c 'export HBASE_HOME="/usr/lib/hbase-current";export HBASE_CONF_DIR="/etc/emr/hbase-conf";export HBASE_LOG_DIR="/mnt/disk1/log/hadoop-hbase";/usr/lib/hbase-current/bin/hbase-daemon.sh stop master'
3.2 单台起停HRegionServer
备注: regionserver节点上执行
- 启动HRegionServer
$sudo su root
$su -l hdfs -c 'export HBASE_HOME="/usr/lib/hbase-current";export HBASE_CONF_DIR="/etc/emr/hbase-conf";export HBASE_LOG_DIR="/mnt/disk1/log/hadoop-hbase";/usr/lib/hbase-current/bin/hbase-daemon.sh start regionserver'
- 停止HRegionServer
$sudo su root
$su -l hdfs -c 'export HBASE_HOME="/usr/lib/hbase-current";export HBASE_CONF_DIR="/etc/emr/hbase-conf";export HBASE_LOG_DIR="/mnt/disk1/log/hadoop-hbase";/usr/lib/hbase-current/bin/hbase-daemon.sh stop regionserver'
3.3 master节点起停ThriftServer
备注: master-1节点上执行
- 启动ThriftServer
$sudo su root
$su -l hdfs -c 'export HBASE_HOME="/usr/lib/hbase-current";export HBASE_CONF_DIR="/etc/emr/hbase-conf";export HBASE_LOG_DIR="/mnt/disk1/log/hadoop-hbase";/usr/lib/hbase-current/bin/hbase-daemon.sh start thrift -p 9099 >/dev/null 2>&1 &'
- 停止ThriftServer
$sudo su root
$su -l hdfs -c 'export HBASE_HOME="/usr/lib/hbase-current";export HBASE_CONF_DIR="/etc/emr/hbase-conf";export HBASE_LOG_DIR="/mnt/disk1/log/hadoop-hbase";/usr/lib/hbase-current/bin/hbase-daemon.sh stop thrift'
备注:一般HBase停止使用grace_stop.sh