一、简介

实验室机房有大概百台的服务器需要管理,加上需要搭建Hadoop以及Spark集群等,因此,一个轻量级的集群管理软件就显得非常有必要了。经过一段时间的了解以及尝试,最终选择了clustershell这个软件,原因如下:
1、安装方便。一条指令就能轻松安装。
2、配置方便。很多集群管理软件都需要在所有的服务器上都安装软件,而且还要进行很多的连接操作。
clustershell就相当的方便了,仅仅需要所有机器能够ssh无密码登录即可,然后只在一台服务器上安装clustershell即可。
3、使用方便。clustershell的命令相对来说非常简单,只有一两个指令以及三四个参数需要记。

二、安装

1.安装clustershell

安装非常简单,只有一条指令即可,一般服务器都是红帽系列的,使用yum安装。
yum install clustershell  

配置文件:/etc/clustershell/    下

假设我们配置了一个db组,包含ssy-[1-3]三个节点:

shell> cat /etc/clustershell/groups
db: ssy-01 ssy-02 ssy-03

准备就绪,顺着文章开头的例子说:查询所有数据库服务器当前的负载情况:

shell> clush -b -g db "uptime"

2、参数

clustershell在使用的时候有一个非常重要的指令就是clush,目前为止我也只用到了这一个指令。
clush [-option] 后面就是日常的linux上执行的指令即可,没什么复杂的,都十分简单。
但是有一点要注意,clustershell执行的类似与一次操作的指令,比如你可以touch一个新文件在所有节点上,但是你不能同时在所有节点上vim编辑一个新文件。细节还需琢磨。
clush有几个比较重要的参数:
-b : 相同输出结果合并
-w : 指定节点
-a : 所有节点
-g : 指定组
--copy : 群发文件

 

3.配置ssh无密码登录

如果没有事先生成ssh密匙的话,需要先生成:

shell> ssh-keygen

可选操作:为了方便,我们可以给需要登录的服务器起一个可读性更好的别名,如果你做了类似的操作,那么后面的<USER>@<SERVER>都可以换成对应的<HOST>:

shell> cat ~/.ssh/config
Host db_1
Hostname <SERVER>
User <USER>
Port <PORT> Host db_2
Hostname <SERVER>
User <USER>
Port <PORT> Host db_3
Hostname <SERVER>
User <USER>
Port <PORT>

然后把生成的公钥添加到需要登录的服务器指定位置:

shell> cat ~/.ssh/id_rsa.pub | ssh <USER>@<SERVER> "cat - >> ~/.ssh/authorized_keys"

如果你和我一样总记不清如何正确拼写authorized_keys,可以接着学一下ssh-copy-id的用法,这个命令可以让操作更简单点:

shell> ssh-copy-id -i ~/.ssh/id_rsa.pub "<USER>@<SERVER>"

注:每配置好一台免密码登录的服务器,最好手动实际操作一下,因为第一次连接会要求手动确认是否保存信息到~/.ssh/known_hosts文件。

3.配置关键文件

clustershell的配置文件在/etc/clustershell目录下,其中的groups是最常用的,我只配置了这一个文件。
 
其中all这一项后面添加的是所有的节点。

三、官方文档

https://sourceforge.net/projects/clustershell/?source=navbar
 
 
clustershell还有很多功能,但是需求驱动学习,目前我能用到的功能在上面体现了,有需求的话会再学习深一点。上传一个官方文档,有深入学习clustershell,可以下载一下。
http://download.csdn.net/detail/picassolovecoding/8073989
有更好玩的功能可以互相交流。

Linux运维利器之ClusterShell的更多相关文章

  1. 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)

    马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...

  2. 做linux运维工程师,必须要掌握以下几个工具

    linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究 ...

  3. linux运维自动化shell脚本小工具

    linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...

  4. Linux运维人员如何学习python编程

    Linux运维人员如何学习python编程 从不会写代码,到自己独立能写代码解决问题 .这个问题很重要!盲目学习所谓的项目,最后 还是不会自己写代码解决问题.首先解决了独立能写代码解决问题,再通过项目 ...

  5. Linux运维入门到高级全套常用要点

    Linux运维入门到高级全套常用要点 目 录 1. Linux 入门篇................................................................. ...

  6. 要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...

    要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...  [复制链接]   发表于 2013-12-13 15:59 | 来自  51CTO网页 [只看他] 楼主           本人 ...

  7. Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)

    Linux运维之道(大量经典案例.问题分析,运维案头书,红帽推荐) 丁明一 编   ISBN 978-7-121-21877-4 2014年1月出版 定价:69.00元 448页 16开 编辑推荐 1 ...

  8. linux运维中的命令梳理(二)

    回想起来,从事linux运维工作已近5年之久了,日常工作中会用到很多常规命令,之前简单罗列了一些命令:http://www.cnblogs.com/kevingrace/p/5985486.html今 ...

  9. Linux运维教程

    最近看马哥Linux运维,收益颇多.愿马哥,身体健康! 2013马哥全套 http://pan.baidu.com/s/1c0JQu9i 运维技术文档 http://pan.baidu.com/s/1 ...

随机推荐

  1. Vue 全家桶,深入Vue 的世界

    内容简介: Vue 实例上的属性 Vue 生命周期 Vue 数据绑定 computed 计算属性 watch 监听器 Vue 组件 Vue 组件 extend Vue 组件高级属性 Vue 的rend ...

  2. go::常用库

    sort 排序 var a = [...]string{"abc", "efg", "b", "A", "ee ...

  3. python学习-语言概述(一)

    1.python的特点 python是一种面向对象.解释型.弱类型的脚本语言,它也是一种功能强大而完善的通用型语言. 解释性语言的特点:速度慢:源代码加密困难:跨平台:

  4. ESP8266开发之旅 应用篇② OLED显示天气屏

    1.前言     这一篇,博主将教大家怎么去实现一个简易版本的天气助手.     先来一个博主已经实现功能的图片,如下: 1.1 知识储备     本篇需要用到以下知识点: 运用到ArduinoJso ...

  5. 百万年薪python之路 -- while循环

    day02 1.while循环 -- while关键字 while 空格 条件 冒号 缩进 循环体 while 5>4: print("Hello World!") 数字中非 ...

  6. Gstreamer基础教程10 - Streaming

    摘要 我们把直接从网络播放一个媒体文件的方式称为在线播放(Online Streaming),我们已经在以往的例子中体验了GStreamer的在线播放功能,当我们指定播放URI为 http:// 时, ...

  7. 用Wireshark抓包分析请求

    前言 有些封装好的API把错误都屏蔽掉,直接返回某一个不明确的具体错误,让人感到困惑. //code in SDK read-only public static Data requestHandle ...

  8. Andriod Studio设置代码字体大小

  9. go map数据结构和源码详解

    目录 1. 前言 2. go map的数据结构 2.1 核心结体体 2.2 数据结构图 3. go map的常用操作 3.1 创建 3.2 插入或更新 3.3 删除 3.4 查找 3.5 range迭 ...

  10. Dockerfile 指令详解

    GitHub Page:https://blog.cloudli.top/posts/Dockerfile-指令详解/ FROM FROM 命令指定基础镜像.在构建镜像时,基础镜像必须指定,因此在 D ...