千家信息网

hbase学习笔记1——脚本简单总结

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,最近学习了hbase的相关知识,也看了一下hbase的bin/目录下的脚本,很多脚本细节并不理解,大致的轮廓有个了解,做一下学习总结:."$bin"/hbase-config.sh 调用脚本hbase
千家信息网最后更新 2025年02月06日hbase学习笔记1——脚本简单总结


最近学习了hbase的相关知识,也看了一下hbasebin/目录下的脚本,很多脚本细节并不理解,大致的轮廓有个了解,做一下学习总结:

  1. ."$bin"/hbase-config.sh 调用脚本hbase-config.sh 装载相关环境变量,hbase-config.sh脚本同时调用了conf/hbase-env.sh脚本。

  2. 接下来脚本通过判断是否为分布式模式来启动不同的服务(同时调用了脚本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,而启动zookeeperregionservermaster-backup三个服务是调用了脚本hbase-daemons.sh

    同时也可以看出分布式模式下的各服务的启动顺序:

    zookeeper,master,regionserver,master-backup

  3. 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

  4. 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-backupzookeeper服务

    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


0