更新时间:2023-03-17 GMT+08:00

配置跨集群互信

操作场景

集群A需要访问另一个集群B的资源前,需要用户为这两个集群设置互信。

如果未配置跨集群互信,每个集群资源仅能被本集群用户访问。MRS自动为每个集群定义一个唯一且不重复的“域名”,用于表示用户的基本使用范围。

该章节操作仅适用于MRS 3.x之前版本集群。

MRS 3.x及之后版本集群请参考配置跨Manager集群互信章节。

对系统的影响

  • 配置跨集群互信后,外部集群的用户可以在本集群中跨域使用,请根据业务与安全要求,定期检视集群中用户的权限。
  • 安全集群配置跨集群互信,需要重启KrbServer服务,集群在重启期间无法使用。
  • 配置跨集群互信后,互信的两个集群均会增加内部用户“krbtgt/本集群域名@外部集群域名”、“krbtgt/外部集群域名@本集群域名”,不支持删除。

前提条件

配置互信的两个集群,必须在相同的VPC和子网中。

操作步骤

  1. 在MRS管理控制台,分别查看两个集群的所有安全组。

    • 当两个集群的安全组相同,请执行3
    • 当两个集群的安全组不相同,请执行2

  2. 在VPC管理控制台,分别为每个安全组添加规则。

    规则的“协议”“ANY”“方向”“入方向”

    “源地址”“安全组”且是对端集群的安全组。

    • 为A集群的安全组添加入方向规则,源地址选择B集群(对端集群)的安全组。
    • 为B集群的安全组添加入方向规则,源地址选择A集群(对端集群)的安全组。

    未开启Kerberos认证的普通集群执行1~2即可完成跨集群互信配置,开启Kerberos认证的安全集群请继续执行后续步骤进行配置。

  3. 参见访问Manager分别登录两个集群MRS Manager,单击“服务管理”,查看全部组件的“健康状态”结果,是否全为“良好”

    • 是,执行4
    • 否,任务结束,联系支持人员检查状态。

  4. 查看配置信息。

    1. 分别在两个集群MRS Manager,选择服务管理 > KrbServer > 实例,查看两个KerberosServer部署主机的“管理IP”.。
    2. 单击“服务配置”,将“基础配置”切换为“全部配置”并在左侧导航树上选择KerberosServer > 端口,查看“kdc_ports”的值,默认值为“21732”
    3. 单击“域”,查看“default_realm”的值。

  5. 在其中一个集群的MRS Manager,修改配置参数“peer_realms”

    表1 相关参数

    参数名

    描述

    “realm_name”

    填写互信集群的域名,即步骤4中获得的“default_realm”的值。

    “ip_port”

    填写互信集群的KDC地址,参数值格式为:外部集群KerberosServer部署的节点IP地址:kdc_port

    两个KerberosServer的IP地址使用逗号分隔,例如KerberosServer部署在10.0.0.1和10.0.0.2上,则对应参数值为“10.0.0.1:21732,10.0.0.2:21732”

    • 如果需要配置与多个集群的互信关系,请单击添加新项目,并填写参数值。删除多余的配置项请单击
    • 最多支持与16个集群配置互信,且本集群的不同互信集群之间默认不存在互信关系,需要另外添加。

  6. 单击“保存配置”,在弹出窗口中勾选“重新启动受影响的服务或实例。”,单击“确定”重启服务。若未勾选“重新启动受影响的服务或实例。”,请手动重启受影响的服务或实例。

    界面提示“操作成功”,单击“完成”,服务成功启动。

  7. 退出MRS Manager,重新登录正常表示配置已成功。
  8. 在另外一个集群的MRS Manager,重复57

后续操作

配置跨集群互信后,因在MRS Manager修改了服务配置参数并重启了服务,请重新准备好客户端配置文件并更新客户端。

场景1:

A集群和B集群(对端集群、互信集群)是同类型集群,例如均是分析集群或者流式集群,请参见更新客户端(3.x之前版本)分别更新客户端配置文件。

  • 更新A集群的客户端配置文件。
  • 更新B集群的客户端配置文件。

场景2:

A集群和B集群(对端集群、互信集群)是不同类型集群,请执行如下步骤分别更新对端集群的配置文件到本端集群和本端集群自身的配置文件。

  • 将A集群的客户端配置文件更新到B集群上。
  • 将B集群的客户端配置文件更新到A集群上。
  • 更新A集群的客户端配置文件。
  • 更新B集群的客户端配置文件。
  1. 登录MRS Manager(A集群)。
  2. 单击“服务管理”,然后单击“下载客户端”
  3. “客户端类型”选择“仅配置文件”
  4. “下载路径”选择“远端主机”
  5. “主机IP”设置为B集群的主Master节点IP地址,设置“主机端口”“22”,并将“存放路径”设置为“/tmp”

    • 如果使用SSH登录B集群的默认端口“22”被修改,请将“主机端口”设置为新端口。
    • “存放路径”最多可以包含256个字符。

  6. “登录用户”设置为“root”

    如果使用其他用户,请确保该用户对保存目录拥有读取、写入和执行权限。

  7. 单击“确定”开始生成客户端文件。

    若界面显示以下提示信息表示客户端包已经成功保存。单击“关闭”

    下载客户端文件到远端主机成功。

    若界面显示以下提示信息,请检查用户名密码及远端主机的安全组配置,确保用户名密码正确,及远端主机的安全组已增加SSH(22)端口的入方向规则。然后从2执行重新开始下载客户端。

    连接到服务器失败,请检查网络连接或参数设置。

  8. 使用VNC方式,登录弹性云服务器(B集群)。参见 。

  9. 执行以下命令切换到客户端目录,例如“/opt/Bigdata/client”:

    cd /opt/Bigdata/client

  10. 执行以下命令,将A集群的客户端配置更新到B集群上:

    sh refreshConfig.sh 客户端安装目录 客户端配置文件压缩包完整路径

    例如,执行命令:

    sh refreshConfig.sh /opt/Bigdata/client /tmp/MRS_Services_Client.tar

    界面显示以下信息表示配置刷新更新成功:

    ReFresh components client config is complete.
    Succeed to refresh components client config.

    步骤1~10的操作也可以参考更新客户端(3.x之前版本)页面的方法二操作。

  11. 参见1~10,将B集群的客户端配置文件更新到A集群上。
  12. 参见更新客户端(3.x之前版本),分别更新本端集群自身的客户端配置文件:

    • 更新A集群的客户端配置文件。
    • 更新B集群的客户端配置文件。