更新时间:2024-10-24 GMT+08:00
分享

配置MRS集群间互信

当不同的两个Manager系统下安全模式的集群需要互相访问对方的资源时,系统管理员可以设置互信的系统,使外部系统的用户可以在本系统中使用。

如果未配置跨集群互信,每个集群资源仅能被本集群用户访问。每个系统用户安全使用的范围定义为“域”,不同的Manager系统需要定义唯一的域名。跨Manager访问实际上就是用户跨域使用。

MRS 3.x及之后版本,同一集群最多支持配置500个互信集群。

对系统的影响

  • 配置跨集群互信后,外部系统的用户可以在本系统中使用,请系统管理员根据企业业务与安全要求,定期检视Manager系统中用户的权限。
  • 配置跨集群互信时需要重启受影响的服务,会造成对应服务的业务中断。
  • 配置跨集群互信后,互信的集群中均会增加Kerberos内部用户“krbtgt/本集群域名@外部集群域名”、“krbtgt/外部集群域名@本集群域名”,用户不能删除。
    • 针对MRS 2.x及之前版本,密码默认为“Crossrealm@123”。
    • MRS 3.x及之后版本,请系统管理员根据企业安全要求,及时且定期修改密码,需同时修改互信系统中4个用户且密码保持一致。具体请参见修改MRS集群组件运行用户密码。修改密码期间可能影响跨系统业务应用的连接。
  • MRS 3.x及之后版本,如果修改了系统域名,且集群有运行中的HetuEngine计算实例,需要重启HetuEngine的计算实例。
  • MRS 3.x及之后版本,配置跨集群互信后,各个集群都需要重新下载并安装客户端。
  • 配置跨集群互信后,验证配置后是否可以正常工作,且如何使用本系统用户访问对端系统资源,请参见配置互信MRS集群的用户权限

前提条件

  • 系统管理员已明确业务需求,并规划好不同系统的域名。域名只能包含大写字母、数字、圆点(.)及下划线(_),且只能以字母或数字开头。例如“DOMAINA.HW”和“DOMAINB.HW”。
  • 配置跨集群互信前,两个Manager系统的域名必须不同。MRS创建ECS/BMS集群时会随机生成唯一系统域名,通常无需修改。
  • 配置跨集群互信前,两个集群中不能存在有相同的主机名,也不能存在相同的IP地址。
  • 配置互信的两个集群系统时间必须一致,且系统上的NTP服务必须使用同一个时间源。
  • 配置互信的两个集群系统内所有集群全部组件的运行状态均为“良好”。
  • 配置互信的两个集群,需要在相同的VPC中。如果两集群不在同一VPC中,则需要已建立VPC对等连接,相关操作请参考VPC对等连接
  • MRS 3.x及之后版本,Manager内所有集群的ZooKeeper服务的“acl.compare.shortName”参数需确保为默认值“true”。否则请修改该参数为“true”后重启ZooKeeper服务。

配置MRS集群间互信(MRS 3.x及之后版本)

  1. 登录其中一个集群的FusionInsight Manager。
  2. 选择“系统 > 权限 > 域和互信”。
  3. 修改配置参数“互信对端域”。

    表1 相关参数

    参数名

    描述

    realm_name

    填写对端系统的域名。

    ip_port

    填写对端系统的KDC地址。

    参数值格式为:对端系统内要配置互信集群的Kerberos服务部署的节点IP地址:端口

    • 如果是双平面组网,需填写业务平面IP地址。
    • 采用IPv6地址时,IP地址应写在中括号“[]”中。
    • 部署主备Kerberos服务或者对端系统内有多个集群需要与本端建立互信时,多个KDC地址使用逗号分隔。
    • 端口值可通过查看KrbServer服务的“kdc_ports”参数获取,默认值为“21732”。部署服务的节点IP可通过在KrbServer服务页面选择“实例”页签,查看KerberosServer角色的“业务IP”获取。

      例如,Kerberos服务部署在10.0.0.1和10.0.0.2上,与本端系统建立互信,则对应参数值为“10.0.0.1:21732,10.0.0.2:21732”。

    如果需要配置与多个Manager系统的互信关系,请单击添加新项目,并填写参数值。删除多余的配置请单击

  4. 单击“确定”。
  5. omm用户登录主管理节点,执行以下命令更新域配置。

    sh ${BIGDATA_HOME}/om-server/om/sbin/restart-RealmConfig.sh

    提示以下信息表示命令执行成功。

    Modify realm successfully. Use the new password to log into FusionInsight again.

    重启后部分主机与服务可能无法访问并触发告警,执行“restart-RealmConfig.sh”后大约需要1分钟自动恢复。

  6. 登录FusionInsight Manager,执行以下操作重启动集群或配置过期的实例。

    确认是否同时执行了修改Manager系统域名操作。

    • 是,单击主页上的或者“更多”,单击“启动”,验证密码并确认操作影响后单击“确定”,等待集群启动成功。
    • 否,单击主页上的或者“更多”,单击“重启配置过期的实例”,验证密码并确认操作影响后单击“确定”,等待服务重启成功。

    重启集群或者集群内的角色实例,会造成对应服务的业务中断,请务必在业务空闲期或者确认上层业务影响可控后,再执行本操作。

  7. 退出FusionInsight Manager,重新登录正常表示配置已成功。
  8. 如果有运行中的HetuEngine计算实例,需重启该计算实例。

    1. 使用用于访问HetuEngine WebUI界面的用户登录FusionInsight Manager。
    2. 选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
    3. 在“概览”页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
    4. 对于运行中的计算实例,在实例的“操作”列单击“停止”,待计算实例处于“已停止”状态后,再单击“启动”重启计算实例。

  9. 登录另外一个集群的FusionInsight Manager,重复以上操作。

配置MRS集群间互信(MRS 2.x及之前版本)

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

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

  2. 在VPC管理控制台,选择“访问控制 > 安全组”,在对应安全组名称的操作列单击“配置规则”,分别为每个安全组添加规则。

    在入方向规则页签,单击“添加规则”,添加入方向规则。

    • 优先级:优先级可选范围为1-100,默认值为1,即最高优先级。优先级数字越小,规则优先级级别越高。
    • 策略:允许。
    • 协议端口:基本协议/全部协议。
    • 协议:根据实际情况选择“IPv4”或“IPv6”。
    • “源地址”“安全组”且是对端集群的安全组。
      • 为A集群的安全组添加入方向规则,源地址选择B集群(对端集群)的安全组。
      • 为B集群的安全组添加入方向规则,源地址选择A集群(对端集群)的安全组。

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

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

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

  4. 查看配置信息。

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

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

    表2 相关参数

    参数名称

    描述

    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
  9. 还需参考更新互信集群客户端配置(MRS 2.x及之前版本)进行后续操作。

更新互信集群客户端配置(MRS 2.x及之前版本)

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

场景1:

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

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

场景2:

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

  • 将A集群的客户端配置文件更新到B集群上。
  • 将B集群的客户端配置文件更新到A集群上。
  • 更新A集群的客户端配置文件。
  • 更新B集群的客户端配置文件。
  1. 登录MRS Manager(A集群)。
  2. 单击“服务管理”,然后单击“下载客户端”

    图1 下载客户端

  3. “客户端类型”选择“仅配置文件”
  4. “下载路径”选择“远端主机”
  5. “主机IP”设置为B集群的主Master节点IP地址,设置“主机端口”“22”,并将“存放路径”设置为“/tmp”

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

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

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

  7. “登录方式”选择“密码”“SSH私钥”

    • 密码:输入创建集群时设置的root用户密码。
    • SSH私钥:选择并上传创建集群时使用的密钥文件。

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

    • 若界面显示以下提示信息表示客户端包已经成功保存,单击“关闭”
      下载客户端文件到远端主机成功。
    • 若界面显示以下提示信息,请检查用户名密码及远端主机的安全组配置,确保用户名密码正确,及远端主机的安全组已增加SSH(22)端口的入方向规则。然后从2执行重新下载客户端。
      连接到服务器失败,请检查网络连接或参数设置。

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

    所有镜像均支持Cloud-init特性。Cloud-init预配置的用户名“root”,密码为创建集群时设置的密码。

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

    cd /opt/Bigdata/client

  11. 执行以下命令,将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~11的操作也可以参考更新客户端配置(2.x及之前版本)页面的方法二操作。

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

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

相关文档