十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近学习了hbase的相关知识,也看了一下hbase的bin/目录下的脚本,很多脚本细节并不理解,大致的轮廓有个了解,做一下学习总结:
创新互联建站是一家专注网站建设、网络营销策划、微信小程序、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十余年以来,已经为上1000+成都发电机回收各业的企业公司提供互联网服务。现在,服务的上1000+客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。
."$bin"/hbase-config.sh 调用脚本hbase-config.sh 装载相关环境变量,hbase-config.sh脚本同时调用了conf/hbase-env.sh脚本。
接下来脚本通过判断是否为分布式模式来启动不同的服务(同时调用了脚本hbase)
distMode=`$bin/hbase--config "$HBASE_CONF_DIR" org.apache.hadoop.hbase.util.HBa
seConfToolhbase.cluster.distributed | head -n 1`
if ["$distMode" == 'false' ]
then
"$bin"/hbase-daemon.sh --config"${HBASE_CONF_DIR}" start master //如果不是分布式模式,则只启动master
else
"$bin"/hbase-daemons.sh --config"${HBASE_CONF_DIR}" start zookeeper
"$bin"/hbase-daemon.sh --config"${HBASE_CONF_DIR}" start master
"$bin"/hbase-daemons.sh --config"${HBASE_CONF_DIR}" \
--hosts "${HBASE_REGIONSERVERS}"start regionserver
"$bin"/hbase-daemons.sh --config"${HBASE_CONF_DIR}" \
--hosts "${HBASE_BACKUP_MASTERS}"start master-backup
fi
从上面脚本中可以看出,启动master是调用脚本hbase-daemon.sh,而启动zookeeper、regionserver、master-backup三个服务是调用了脚本hbase-daemons.sh;
同时也可以看出分布式模式下的各服务的启动顺序:
(zookeeper,master,regionserver,master-backup)
在hbase-daemons.sh脚本中可以看出启动zookeeper,regionserver,master-backup三个服务的分别是调用了zookeepers.sh regionservers.sh master-backup.sh三个脚本;
case $command in
(zookeeper)
exec"$bin/zookeepers.sh" $args
;;
(master-backup)
exec"$bin/master-backup.sh" $args
;;
(*)
exec"$bin/regionservers.sh" $args
;;
esac
hbase停止服务非常简单和直接,kill -0 `cat $pid`,查看脚本stop-hbase.sh
可以看出先调用了脚本hbase:
nohup nice -n ${HBASE_NICENESS:-0} "$HBASE_HOME"/bin/hbase\
--config"${HBASE_CONF_DIR}" \
master stop "$@"> "$logout" 2>&1 < /dev/null &
然后判断是否为分布式模式,如果是,通过调用hbase-daemon.sh来停止master-backup和zookeeper服务
if [ "$distMode" == 'true' ]
then
# TODO: store backup mastersin ZooKeeper and have the primary send them a shu
tdown message
# stop any backup masters
"$bin"/hbase-daemons.sh --config "${HBASE_CONF_DIR}"\
--hosts "${HBASE_BACKUP_MASTERS}"stop master-backup
"$bin"/hbase-daemons.sh --config "${HBASE_CONF_DIR}"stop zookeeper
fi