注意: php
1:版本目录作了软连接,如 ln -s hbase-0.94.6 hbase node
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 fi 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" done echo "done."
注意: shell
1:版本目录作了软连接,如 ln -s hbase-0.94.6 hbase bash
2: 要根据实际状况,将/usr/local/修改成hbase所在的目录 ssh
#!/bin/bash # Rsync's 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/ done echo "done."
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 详细模式输出 oop
-a, --archive 归档模式,表示以递归方式传输文件,并保持全部文件属性,等于-rlptgoD spa
-z, --compress 对备份的文件在传输时进行压缩处理 code
--delete 删除那些DST中SRC没有的文
--exclude=PATTERN 指定排除不须要传输的文件模式