zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

hbase:用于实现版本文件及配置同步的两个shell脚本

HBase文件配置同步shell 实现 版本 脚本
2023-09-14 08:59:49 时间

    1:版本目录做了软链接,如 ln -s hbase-0.94.6 hbase

    2: 要根据实际情况,将/usr/local/修改为hbase所在的目录

#!/bin/bash

# copy a new release of HBase from the masternode to all slave nodes

# Rsyncs HBase files across all slaves. Must run on master.

# Assumes all files are located in /usr/local

if [ "$#" != "2" ]; then

 echo "usage: $(basename $0) dir-name ln-name "

 echo " example: $(basename $0) hbase-0.1 hbase"

 exit 1

SRC_PATH="/usr/local/$1/conf/regionservers"

for srv in $(cat $SRC_PATH); do

 echo "Sending command to $srv...";

 rsync -vaz --exclude=logs/* /usr/local/$1 $srv:/usr/local/

 ssh $srv "rm -fR /usr/local/$2 ; 

 ln -s /usr/local/$1 /usr/local/$2"

echo "done."
同步master节点上的配置文件到所有region servers

注意:

     1:版本目录做了软链接,如 ln -s hbase-0.94.6 hbase

    2: 要根据实际情况,将/usr/local/修改为hbase所在的目录

#!/bin/bash

# Rsyncs HBase config files across all region servers. Must run on master.

for srv in $(cat /usr/local/hbase/conf/regionservers); do

 echo "Sending command to $srv...";

 rsync -vaz --delete --exclude=logs/* /usr/local/hadoop/ $srv:/usr/local/hadoop/

 rsync -vaz --delete --exclude=logs/* /usr/local/hbase/ $srv:/usr/local/hbase/

echo "done."
rsync命令简介

    Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远 程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

rsync [OPTION]... SRC DEST

rsync [OPTION]... SRC [USER@]HOST:DEST

rsync [OPTION]... [USER@]HOST:SRC DEST

rsync [OPTION]... [USER@]HOST::SRC DEST

rsync [OPTION]... SRC [USER@]HOST::DEST

rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
使用参数说明

-v, --verbose 详细模式输出

-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD

-z, --compress 对备份的文件在传输时进行压缩处理

--delete 删除那些DST中SRC没有的文

--exclude=PATTERN 指定排除不需要传输的文件模式


HBASE启动脚本/Shell解析 常用到的HBase启动脚本有: 1.$HBASE_HOME/bin/start-hbase.sh 启动整个集群 2.$HBASE_HOME/bin/stop-hbase.sh 停止整个集群 3.$HBASE_HOME/bin/hbase-daemons.sh 启动或停止,所有的regionserver或zookeeper或backup-master 4.$HBASE_HOME/bin/hbase-daemon.sh 启动或停止,单个master或regionserver或zookeeper 以start-hbase.sh为起点,可以看看脚本间的一些调用关系
hbase shell实现原理简析 hbase的交互式命令行是通过jruby实现的,当我们输入hbase shell时,实际上最终执行的是org.jruby.Main,并以bin/hirb.rb作为参数,注意是根目录下bin目录中的hirb.
第十二届 BigData NoSQL Meetup — 基于hbase的New sql落地实践 立即下载