Linux集群管理软件clustershell
1.简介
机房有大概百台的服务器需要管理,加上需要搭建Hadoop以及Spark集群等,因此,一个轻量级的集群管理软件就显得非常有必要了。经过一段时间的了解以及尝试,最终选择了clustershell这个软件,原因如下: 1、安装方便。一条指令就能轻松安装。 2、配置方便。很多集群管理软件都需要在所有的服务器上都安装软件,而且还要进行很多的连接操作,clustershell就相当的方便了,仅仅需要所有机器能够ssh无密码登录即可,然后只在一台服务器上安装clustershell即可。 3、使用方便。clustershell的命令相对来说非常简单,只有一两个指令以及三四个参数需要记。
2.安装
2.1安装clustershell
安装非常简单,只有一条指令即可,一般服务器都是红帽系列的,使用yum安装(我的系统因为没有注册所以不能使用yum方式)。
yum install clustershell
下载clustershell-1.6.tar.gz(http://sourceforge.net/projects/clustershell/)
[root@Master app]# tar -zxvf /app_install/clustershell-1.6.tar.gz
[root@Master app]# cd clustershell-1.6/
[root@Master clustershell-1.6]# python setup.py install
安装完成
2.2配置ssh无密码登录
配置ssh登录相对比较简单,在搭建hadoop集群的时候都会需要这一步。
2.3配置/etc/hosts
在hosts中文件中将ip和主机名对应起来,使用比较方便。
2.4配置关键文件
为了使用的方便,还需要拷贝配置文件到指定目录:
[root@Master clustershell-1.6]# mkdir /etc/clustershell/
[root@Master clustershell-1.6]# cp -r ./conf/* /etc/clustershell/
接着配置我们要管理的节点,假设我们配置了一个Slaves组,包含Slave1、Slave2、Slave3三个节点来管理Slave这些节点,在配置一个all来管理所有节点。
也接受类似区间这样配置方式 Slave[1,3] 表示1和3,Slave[1-3]表示1到3,其中all这一项后面添加的是所有的节点(这样clush –a才可用)。
3.使用
clustershell在使用的时候有一个非常重要的指令就是clush,目前为止我也只用到了这一个指令。 clush [-option] 后面就是日常的linux上执行的指令即可,没什么复杂的,都十分简单。但是有一点要注意,clustershell执行的类似与一次操作的指令,比如你可以touch一个新文件在所有节点上,但是你不能同时在所有节点上vim编辑一个新文件。细节还需琢磨。
clush有几个比较重要的参数:
-b : 相同输出结果合并
-w : 指定节点
-a : 所有节点
-g : 指定组
--copy : 群发文件
3.1查看所有节点的java安装路径,输出结果合并
[root@Master clustershell-1.6]# clush -b -a echo $JAVA_HOME
3.2查看Slaves组所有节点java安装路径,输出结果不合并
[root@Master clustershell-1.6]# clush -g Slaves echo $JAVA_HOME
3.3在所有节点上创建一个空文件
[root@Master clustershell-1.6]# clush -a touch /tmp/clustershelltext.txt
3.4集群分发文件
把本地的一个groups文件分发到Slaves组中所有节点的/tmp/目录下 (Master不拷贝)
[root@Master tmp]# clush -b -g Slaves --copy /etc/hosts --dest /tmp/
3.5集群关机
[root@Master tmp]# clush -a halt
发现Master、Slave1、Slave3都关闭了,但是Slave2没有关闭,有可能是Master还没来得及发出去命令,Master就关闭了???也许吧!!!
4.官方文档
http://download.csdn.net/detail/picassolovecoding/8073989