Ubuntu安装使用clustershell

来源:互联网 发布:java file类绝对路径 编辑:程序博客网 时间:2024/06/05 00:13

为了一下子将几台ubuntu server关掉,使用clustershell。在第一台机器server1上安装了clustershell。
当然,在能执行clustershell的命令之前,需要先配置server1到其它机器的ssh免密码登录。

1. 安装clustershell
执行命令:
sudo apt-get install clustershell

2. 配置组
在/etc/clustershell目录下创建文件groups,可增加如下配置,配置了三个组:
hadoop: ubuntuServer[1-5]
slaves: ubuntuServer[2-5]
test: ubuntuServer5
表示hadoop组包括ubuntuServer1至ubuntuServer5这5台机器。

3. 执行命令
clush -g hadoop echo $JAVA_HOME
会显示各机器上的JAVA_HOME设置

-b 可以合并各机器上的输出:
clush -b -g hadoop echo $JAVA_HOME

-w @相当于-g:
clush -w @hadoop echo $JAVA_HOME

4. 使用重定向
把一个本地文件file1.txt,拷贝到各机器上:
dd if=file1.txt | clush -g hadoop dd of=file2.txt

5. 拷贝文件模式
将本地file1.txt拷贝到test组的各个机器上:
clush -b -w @test -c file1.txt

将本地file1.txt拷贝到test组的各个机器上,改名为file2.txt:
clush -b -w @test -c file1.txt –dest file2.txt

6. 交互模式
启动clush,后面不带命令,就进入交互模式:
clush -w @hadoop

有几个字符交互指令:

字符指令 含义 clush> ? 显示当前的节点集合 clush> + 添加节点到当前的节点集合中 clush> - 从当前节点集合中去除节点 clush> ! 在本地系统中执行命令command clush> = 切换输出格式(标准格式/合并格式)

7. 批量关机
关机需要执行的命令是: sudo init 0。sudo需要输入口令,各机器的口令统一为123456。使用以下命令将各slave机器关掉:
echo 123456 | clush -w @slaves sudo -S init 0

通过管道将口令传递给各机器的sudo,同时需要用“-S”选项指定sudo从标准输入获得口令。

0 0
原创粉丝点击