更新时间:2024-09-04 GMT+08:00

批量升级MRS集群客户端

在FusionInsight Manager界面上下载的客户端包中包含客户端批量升级工具,当集群升级或扩容后需要对多个客户端进行升级时,可以使用该工具对客户端进行批量一键升级。同时该工具在提供批量升级客户端功能的同时,也提供了轻量级的批量刷新客户端所在节点“/etc/hosts”文件的功能。

本章节仅适用于MRS 3.x及以后版本。

批量升级前准备

  1. 登录FusionInsight Manager。
  2. 选择“集群 > 概览 > 更多 > 下载客户端”,下载完整客户端到服务端指定目录。

    具体操作请参考安装MRS集群客户端

    解压新下载的客户端,在解压后的目录找到batch_upgrade目录,例如“/tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_ClientConfig/batch_upgrade”。

  3. 选择“集群 > 客户端管理”,进入客户端管理界面,单击“导出全部”,将所选的客户端信息导出到本地。
  4. 解压导出的客户端信息,将client-info.cfg文件上传到客户端解压目录的batch_upgrade目录下。
  5. 参考以下操作,补全“client-info.cfg”中缺失的密码。

    执行vi client-info.cfg命令,添加用户密码信息。

    例如:

    clientIp,clientPath,user,password
    10.10.10.100,/home/omm/client /home/omm/client2,omm,密码

    配置文件各字段含义如下:

    • clientIp:表示客户端所在节点IP地址。
    • clientPath:客户端安装路径,可以包含多个路径,以空格分隔多个路径。注意路径不要以“/”结尾。
    • user:节点用户名。
    • password:节点用户密码信息。
    • 如果执行失败,请在执行目录的work_space/log_XXX下查看node.log日志。
    • 配置文件中包含认证密码信息可能存在安全风险,建议当前场景执行完毕后删除相关配置文件或加强安全管理。

批量升级MRS集群客户端

  1. 以待安装客户端的用户登录客户端下载节点。
  2. 执行以下命令进行升级。

    sh client_batch_upgrade.sh -u -f /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_Client.tar -g /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_ClientConfig/batch_upgrade/client-info.cfg

    由于配置了密码信息,执行完升级后建议尽快删除client-info.cfg文件。

  3. 升级执行完成后确认结果。确保客户端升级无误后执行sh client_batch_upgrade.sh -c,确认升级结果。
  4. 如果客户端升级后存在问题,可以执行sh client_batch_upgrade.sh -s,回滚客户端。

    • 客户端批量升级工具本身是将原客户端move至备份目录,然后再使用-f参数指定的客户端包再次安装客户端。因此若原客户端中有定制的内容,请在执行-c命令之前,将定制的内容从备份目录手动保存或者移至升级后的客户端目录。客户端备份路径为:{原客户端路径}-backup。
    • 参数-u-c-s的前提,必须在-u命令执行了升级之后,才能选择是要执行-c进行提交还是-s进行回滚。
    • 升级命令(-u)可以多次执行,每次执行只升级前面升级失败的客户端,跳过升级成功的客户端。
    • 客户端批量升级工具也支持升级之前的旧客户端。
    • 执行非root用户安装的客户端升级时,请确保相应用户在目标节点客户端所在目录及父目录的读写权限,否则会升级失败。
    • -f参数输入的客户端包必须为全量客户端,不支持单组件或部分组件客户端包作为输入。

批量刷新hosts文件

  1. 执行批量升级前准备操作。
  2. 检查需要更新“/etc/hosts”文件的节点的配置用户是否为“root”

    • 是,执行3
    • 否,更改配置用户为“root”,再执行3

  3. 执行以下命令,批量刷新客户端所在节点的“/etc/hosts”文件。

    sh client_batch_upgrade.sh -r -f /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_Client.tar -g /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_ClientConfig/batch_upgrade/client-info.cfg
    • 执行批量刷新“/etc/hosts”文件时,输入的客户端包可以是完整客户端,也可以是仅包含配置文件的客户端软件包,推荐使用仅包含配置文件的客户端软件包。
    • 需要更新“/etc/hosts”文件的主机所配置的用户必须为root用户,否则会刷新失败。