Updated on 2024-04-11 GMT+08:00

Configuring Cross-Manager Mutual Trust Between Clusters

Scenario

When two security-mode clusters managed by different FusionInsight Managers need to access each other's resources, the system administrator can configure cross-Manager mutual trust for them.

The secure usage scope of users in each system is called a domain. Each FusionInsight Manager must have a unique domain name. Cross-Manager access allows users to use resources across domains.

A maximum of 500 mutually trusted clusters can be configured.

Impact on the System

  • After cross-Manager cluster mutual trust is configured, users of an external system can be used in the local system. The system administrator needs to periodically check the user permissions in Manager based on enterprise service and security requirements.
  • If you set up mutual trust between clusters, affected services need to be restarted and services will be interrupted.
  • After cross-Manager cluster mutual trust is configured, internal Kerberos users krbtgt/Local cluster domain name@External cluster domain name and krbtgt/External cluster domain name@Local cluster domain name are added to the two mutually trusted clusters. The internal users cannot be deleted. The system administrator needs to change the passwords periodically based on enterprise service and security requirements. The passwords of these four users in the two systems must be the same. For details, see Changing the Password for a Component Running User. When the passwords are changed, the connectivity between cross-cluster service applications may be affected.
  • If the system domain name is changed and there is any running HetuEngine compute instance, restart the compute instance.
  • After cross-Manager cluster mutual trust is configured, the clients of each cluster need to be downloaded and installed again.
  • After cross-Manager cluster mutual trust is configured, you need to check whether the system works properly and how to access resources of the peer system as a user of the local system. For details, see Assigning User Permissions After Cross-Cluster Mutual Trust Is Configured.

Prerequisites

  • The system administrator has clarified service requirements and planned domain names for the systems. A domain name can contain only uppercase letters, numbers, periods (.), and underscores (_), and must start with a letter or number, for example, DOMAINA.HW and DOMAINB.HW.
  • The domain names of the two Managers are different. When an ECS or BMS cluster is created on MRS, a unique system domain name is randomly generated. Generally, you do not need to change the system domain name.
  • The two clusters do not have the same host name or the same IP address.
  • The system time of the two clusters is consistent, and the NTP services in the two systems use the same clock source.
  • The running status of all components in the Manager clusters is Normal.
  • The acl.compare.shortName parameter of the ZooKeeper service of all clusters in Manager is set to default value true. Otherwise, change the value to true and restart the ZooKeeper service.
  • The two clusters are in the same VPC. If they are not, create a VPC peering connection between them. For details, see VPC Peering Connection.

Procedure

  1. Log in to a FusionInsight Manager of one cluster.
  2. Choose System > Permission > Domain and Mutual Trust.
  3. Modify Peer Mutual Trust Domain.

    Table 1 Related parameters

    Parameter

    Description

    realm_name

    Enter the domain name of the peer system.

    ip_port

    Enter the KDC address of the peer system.

    Value format: IP address of the node accommodating the Kerberos service in the peer system:Port number

    • In dual-plane networking, enter the service plane IP address.
    • If an IPv6 address is used, the IP address must be enclosed in square brackets ([]).
    • Use commas (,) to separate the KDC addresses if the active and standby Kerberos services are deployed or multiple clusters in the peer system need to establish mutual trust with the local system.
    • You can obtain the port number from the kdc_ports parameter of the KrbServer service. The default value is 21732. To obtain the IP address of the node where the service is deployed, click the Instance tab on the KrbServer page and view Service IP Address of the KerberosServer role.

      For example, if the Kerberos service is deployed on nodes at 10.0.0.1 and 10.0.0.2 that have established mutual trust with the local system, the parameter value is 10.0.0.1:21732,10.0.0.2:21732.

    If you need to configure mutual trust for multiple Managers, click to add a new item and set parameters. Click to delete unnecessary configurations.

  4. Click OK.
  5. Log in to the active management node as user omm, and run the following command to update the domain configuration:

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

    The command is executed successfully if the following information is displayed:

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

    After the restart, some hosts and services cannot be accessed and an alarm is generated. This problem can be automatically resolved in about 1 minute after restart-RealmConfig.sh is run.

  6. Log in to FusionInsight Manager and restart the cluster or configure expired instances:

    Check whether the system domain name of Manager is changed.

    • If the system domain name is changed, click or More on the home page, click Start, enter the password, select the checkbox for confirming the impact, and click OK. Wait until the cluster is started successfully.
    • If the system domain name is not changed, click or More on the home page and select Restart Configuration-Expired Instances. Enter the password, select the checkbox for confirming the impact, and click OK. Wait until the service is restarted.

  7. Log out of FusionInsight Manager and then log in again. If the login is successful, the configuration is successful.
  8. If a HetuEngine compute instance is running, restart the compute instance.

    1. Log in to FusionInsight Manager as the user who is used to access the HetuEngine web UI.
    2. Choose Cluster > Services > HetuEngine to go to the HetuEngine service page.
    3. In the Basic Information area on the Dashboard page, click the link next to HSConsole WebUI. The HSConsole page is displayed.
    4. For a running compute instance, click Stop in the Operation column. After the compute instance is in the Stopped state, click Start to restart the compute instance.

  9. Log in to FusionInsight Manager of another cluster and repeat the preceding steps.