比如我在host1上把hadoop和hbase配置什么的搞好,打成tar包,运行以下脚本,即可在cluster升级。
我的cluster中有host1,host2,host3,host4,host5,host6,host21,host24,host0,hostut。注意这些host之间用用户hbase都可免密码ssh访问。
hbase和hadoop都会被安装在/Development下
Hadoop=hadoop-0.20.2
HBase=hbase-tm-2#45
HostList=’2
3
4
5
6
21
24
0
ut’
for i in $HostList; do
echo sending archive to host$i…
scp $Hadoop.tar $HBase.tar hbase@host$i:/Development
done
for i in $HostList; do
echo host$i extracting and making symbolic link…
ssh hbase@host$i “cd /Development; rm hbase; rm hadoop;rm -rf $Hadoop;rm -rf $HBase; tar -xf $Hadoop.tar; tar -xf $HBase.tar; ln -s -f $HBase hbase; ln -s -f $Hadoop hadoop”
done
for i in $HostList; do
echo host$i ‘add excuting right on hbase/bin/* and hadoop/bin/*’
ssh hbase@host$i ‘cd /Development/hbase/bin; chmod +x *; cd /Development/hadoop/bin; chmod +x *’
done
脚本说明:
脚本的最上端是定义hadoop和hbase的版本
再下来是host列表
接着就是传送文件,解压,创建软连接,添加bin目录下的文件的执行权限