ITPub博客

首页 > 数据库 > > FAQ-如何在集群内多个节点上执行命令或者存取文件

FAQ-如何在集群内多个节点上执行命令或者存取文件

作者:GaussDB_数据库 时间:2020-01-13 17:08:26 0 删除 编辑

问题

在安装集群或者日常维护过程中,如果需要在集群内多个节点上执行同一命令或者存取文件,可以使用软件安装包中的脚本工具快速完成。

回答

前提条件

  • 获取集群所有节点的操作用户及密码,同时各节点需要启用该用户的远程登录权限。
  • 已将FusionInsight_SetupTool_6.5.1.tar.gz软件压缩包解压到主管理节点的“/opt”目录下。

操作步骤

  1. 使用PuTTY工具以操作用户登录主管理节点。
  2. 进入“/opt/FusionInsight_SetupTool/preinstall/tools/cluster”目录,按照需求编辑“cluster.ini”文件。

    表1 “cluster.ini”配置参数

    参数名

    取值(举例)

    描述

    g_hosts(必须配置)

    192.168.10.[10-20]

    需要执行操作的所有节点的IP地址。

    • 各IP地址间用“,”隔开,例如:192.168.10.10,192.168.10.11。
    • 如果IP地址连续,用“-”连接。例如:192.168.10.[10-20]。
    • 如果IP地址分段连续,连续时用“-”连接,各IP地址段间用“,”隔开,例如:192.168.10.[10-20,30-40]。

    g_user_name

    root

    执行操作的用户。

    g_password

    _

    执行操作的用户对应的密码文件,默认为空。

    g_port

    22

    SSH连接端口,默认为22。

    g_timeout

    10

    SSH连接的超时时间,默认为10秒,当网络较差时可以适当增加。

    “g_password”默认为空,如果执行操作的所有用户的密码一致,命令执行后在界面手动输入一次密码即可。否则,需要在节点上手动创建一个密码文件,并将“g_password”参数设置为密码文件的全路径。密码文件格式如下:

    IP地址1
    IP地址1的密码
    IP地址2
    IP地址2的密码
    ...
     说明:
    • 密码文件必须是UNIX格式。
    • 密码文件的最后一行不能为空。
    • 密码中如果包含特殊字符,不需要转义。

    例如,创建“secret.txt”文件,内容如下:

    10.10.37.[10-11]
    123456!654321
    10.10.37.12
    123456!

  3. 按照操作场景执行命令。

    1. 在各节点上运行命令。

      命令格式:./clustercmd.sh "详细命令"

      样例(在各节点上执行hostname命令):

      dc-rack1007-4m:/cluster # ./clustercmd.sh "hostname"
      ==>>10.10.37.10
      dc-rack1007-1
      ==>>10.10.37.11
      dc-rack1007-2
      ==>>10.10.37.12
      dc-rack1007-3
    2. 从各节点获取文件到本节点指定目录。

      命令格式:./clusterscp.sh get 源文件路径 目的路径

      样例(将各节点上的“/opt/test/mem.txt”文件复制到本节点的“/opt/result”文件夹下):

      dc-rack1007-4m:/cluster # ./clusterscp.sh get /opt/test/mem.txt /opt/result
      get /opt/result/10.10.37.10_mem.txt from 10.10.37.10:/opt/test/mem.txt successfully.
      get /opt/result/10.10.37.11_mem.txt from 10.10.37.11:/opt/test/mem.txt successfully.
      get /opt/result/10.10.37.12_mem.txt from 10.10.37.12:/opt/test/mem.txt successfully.
    3. 将本节点指定的文件或文件夹复制到各节点的指定目录下。

      命令格式:./clusterscp.sh put 源文件路径 目的路径

      样例(将本节点的“/opt/test/hosts”文件复制到各节点的“/etc”目录下):

      dc-rack1007-4m:/opt/cluster # ./clusterscp.sh put /opt/test/hosts /etc
      put /opt/test/hosts to 10.10.37.10:/etc successfully.
      put /opt/test/hosts to 10.10.37.11:/etc successfully.
      put /opt/test/hosts to 10.10.37.12:/etc successfully.


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3138209/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19241