E-MapReduce的HBase集群启动/停止方式如下:
前置:
hbase软件包路径: /usr/lib/hbase-currenthbase软件配置路径: /etc/emr/hbase-conf/登陆master节点执行
sudo su hdfs export HBASE_LOG_DIR="/mnt/disk1/log/hadoop-hbase" /usr/lib/hbase-current/bin/stop-hbase.sh登陆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集群。
备注: 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'备注: 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'备注: 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
