• 在多台服务器上运行相同命令(二)、clush


    介绍

    Clush(Cluster Shell)是一个用于管理和执行集群操作的工具,它允许你在多台远程主机上同时执行命令,以便批量管理服务器。Clush 提供了一种简单而强大的方式来管理大规模的计算集群或服务器群。以下是 Clush 的一些关键特性和用法:

    • 批量执行命令:Clush 可以同时在多台主机上执行相同的命令,无需手动登录到每个主机。
    • 并行操作:Clush 具有并行执行命令的功能,可以提高效率并减少等待时间。
    • 主机分组:你可以将主机分组,以便在特定组中执行命令。这对于对不同用途或角色的主机执行不同命令很有用。
    • 输出聚合:Clush 可以收集和汇总来自所有主机的输出,使你可以更轻松地查看和分析结果。
    • 配置文件:Clush 使用配置文件来定义主机列表和分组,以及其他参数,使配置变得简单。
    • 支持多种连接方式:Clush 支持 SSH 和其他连接协议,可以根据需要进行配置。
    • 可扩展性:Clush 可以通过插件进行扩展,以满足更多需求。

    地址:https://github.com/cea-hpc/clustershell/

    安装

    centos上直接yum install clustershell
    在这里插入图片描述

    在这里插入图片描述

    配置

    安装完成后,你可以使用 clush 命令来执行命令在多个远程主机上运行。为了使 Clush 在远程主机上执行命令而无需手动输入密码或进行其他身份验证,最好建立 SSH 互信。

    互信认证

    为了建立 SSH 互信,你需要执行以下步骤:
    1、生成 SSH 密钥对: 在执行 Clush 之前,确保在本地主机上生成 SSH 密钥对。已有则可以跳过这一步,你可以使用以下命令生成密钥对:

    ssh-keygen -t rsa
    
    • 1

    这将生成一个公钥文件(默认为 ~/.ssh/id_rsa.pub)和一个私钥文件(默认为 ~/.ssh/id_rsa)

    2、将公钥复制到远程主机: 使用 ssh-copy-id 命令将公钥复制到远程主机。例如:

    ssh-copy-id user@remote_host
    
    • 1

    这将把你的公钥添加到远程主机的 ~/.ssh/authorized_keys 文件中,允许你在不输入密码的情况下通过 SSH 连接到该主机。

    3、测试 SSH 连接: 确保你可以通过 SSH 连接到远程主机,而不需要输入密码:

    ssh user@remote_host
    
    • 1

    如果可以无需密码登录,互信已成功建立。

    参数含义

    选项
    -w后面跟主机节点,多个主机中间用英文逗号隔开
    -x表示去掉某个节点进行操作。后面跟主机节点,多个主机中间用英文逗号隔开
    -g后面指定设置的组
    -a表示所有的组
    -X表示去掉某个组进行操作,多个组之间用英文逗号隔开
    -b相同输出结果合并

    基本使用

    clush -w host1,host2 "ls -l /tmp"
    
    • 1

    这将在 host1 和 host2 上运行 ls -l /tmp命令。例如:
    在这里插入图片描述

    节点组

    节点数少且使用次数少的时候,可以直接在命令里写,节点多的时候可以将其配置为节点组,使用不同组的方式来管理主机。

    vim /etc/clushershell/groups
    
    • 1

    写入格式: 组名:节点1 节点2 节点3

    假设我们配置了一个db组,包含192.168.96.54,192.168.96.60两个节点:
    在这里插入图片描述
    执行
    在这里插入图片描述

    再加一个组:
    在这里插入图片描述
    在这里插入图片描述

    拷贝文件

    从本地拷贝到远程服务器组:

    clush -bg web --copy /root/1.sh --dest /tmp/
    
    • 1

    在这里插入图片描述

    从远程服务器拷贝到本地:

    clush -bg web-rcopy /tmp/1.sh --dest /tmp/
    
    • 1

    在这里插入图片描述
    注:在多台不同服务器上向本地拷贝回同一个名称的文件,会自动在文件名后面加上服务器ip以区分这些同名文件。

  • 相关阅读:
    Java入门第二季
    基于柯西变异的蚁狮优化算法 - 附代码
    2022下半年软考「高项&集成」复习计划ta来喽~
    Flume最简单使用
    JVM——运行时数据区(堆+方法区+直接内存)
    【FPGA】通俗理解从VGA显示到HDMI显示
    维度建模中的事实表设计原则
    计算机毕业设计Java健身房管理系统(源码+系统+mysql数据库+lw文档)
    通过霍夫直线检测方式获取直线,自定义提取直线(提取出两条接近平行的直线),将直线进行拟合
    无心剑英译朱熹《观书有感二首·其一》
  • 原文地址:https://blog.csdn.net/cf313995/article/details/133273843