Updated on 2022-08-12 GMT+08:00

Recovering Kafka Metadata

Scenario

Kafka metadata needs to be recovered in the following scenarios: Data is modified or deleted unexpectedly and needs to be restored; after an administrator performs a critical operation (such as upgrade and critical data adjustment) on ZooKeeper, an exception occurs or the operation has not achieved the expected result; all Kafka modules are faulty and become unavailable; data is migrated to a new cluster.

System administrators can create a recovery task in FusionInsight Manager to recover Kafka data. Only manual recovery tasks are supported.

  • Data recovery can be performed only when the system version is consistent with that of data backup.
  • To recover Kafka metadata when the service is running properly, you are advised to manually back up the latest Kafka metadata before recovery. Otherwise, the Kafka metadata that is generated after the data backup and before the data recovery will be lost.

Impact on the System

  • After the metadata is recovered, the data generated between the backup point in time and the recovery point in time is lost.
  • After the metadata is recovered, the offset information stored on ZooKeeper by Kafka consumers is restored to a previous state, resulting in repeated consumption.

Prerequisites

  • To restore data from the remote HDFS, you need to prepare the standby cluster. If the active cluster is deployed in security mode and the active and standby clusters are not managed by the same FusionInsight Manager, configure system mutual trust. For details, see Configuring Cross-Manager Cluster Mutual Trust Relationships. If the active cluster is deployed in normal mode, do not configure mutual trust.
  • Cross-cluster replication has been configured for the active and standby clusters. For details, see Enabling Cross-Cluster Replication.
  • The time of the active cluster and standby cluster must be the same, and the NTP service in the active and standby clusters must use the same time source.
  • The Kafka service is disabled first, and then enabled upon data recovery.
  • You have logged in to FusionInsight Manager. For details, see Logging In to FusionInsight Manager.

Procedure

  1. On FusionInsight Manager, choose O&M > Backup and Restoration > Backup Management.
  2. In the Operation column of a specified task in the task list, click More > View History to view historical backup task execution records.

    In the displayed window, locate a specified success record and click View in the Backup Path column to view the backup path information of the task and find the following information:

    • Backup Object specifies the data source of the backup data.
    • Backup Path specifies the full path where the backup files are saved.

      Select the correct item, and manually copy the full path of backup files in Backup Path.

  3. On FusionInsight Manager, choose O&M > Backup and Restoration > Restoration Management.
  4. Click Create.
  5. Set Task Name to the name of the recovery task.
  6. Select the cluster to be operated from Recovery Object.
  7. Select Kafka in Restoration Configuration.

    If there are multiple Kafka services, you can specify the Kafka to be recovered.

  8. Set Path Type of Kafka to a backup directory type.

    The settings vary according to backup directory types:

    • LocalDir: indicates that the backup files are stored on the local disk of the active management node.

      If you select this value, you need to set Source Path to select the backup file, for example, version_data source_task execution time.tar.gz.

    • LocalHDFS: indicates that the backup files are stored in the HDFS directory of the current cluster.
      If you select this value, you need to set the following parameters:
      • Source Path: indicates the full path of the backup file in HDFS, for example, backup path/backup task name_task creation time/version_data source_task execution time.tar.gz.
      • Source NameService Name: indicates the NameService name that corresponds to the backup directory when the recovery task is executed. The default value is hacluster.
    • RemoteHDFS: indicates that the backup files are stored in the HDFS directory of the standby cluster.
      If you select this value, you need to set the following parameters:
      • Source NameService Name: indicates the NameService name of the backup data cluster. You can set it to the NameService name (haclusterX, haclusterX1, haclusterX2, haclusterX3, or haclusterX4) of the built-in remote cluster of the cluster, or the NameService name of a configured remote cluster.
      • IP Mode: mode of the target IP address.The system automatically selects the IP address mode based on the cluster network type, for example, IPv4 or IPv6.
      • Source NameNode IP Address: indicates the NameNode service plane IP address of the standby cluster, supporting the active node or standby node.
      • Source Path: indicates the full path of the HDFS directory for storing standby cluster backup data. For example, backup path/backup task name_data source_task creation time/version_data source_task execution time.tar.gz.
      • Queue Name: indicates the name of the Yarn queue used for backup task execution. The name must be the same as the name of the queue that is running properly in the cluster.
    • NFS: indicates that backup files are stored in the NAS over the NFS protocol.
      If you select NFS, set the following parameters:
      • IP Mode: mode of the target IP address.The system automatically selects the IP address mode based on the cluster network type, for example, IPv4 or IPv6.
      • Server IP address: indicates the NAS server IP address.
      • Source Path: indicates the complete path of the backup file on the NAS server. For example, backup path/backup task name_data source_task creation time/version_data source_task execution time.tar.gz.
    • CIFS: indicates that backup files are stored in the NAS over the CIFS protocol.
      If you select CIFS, set the following parameters:
      • IP Mode: mode of the target IP address.The system automatically selects the IP address mode based on the cluster network type, for example, IPv4 or IPv6.
      • Server IP address: indicates the NAS server IP address.
      • Port: indicates the port ID used by the CIFS protocol to connect to the NAS server. The default value is 445.
      • Username: Indicates the user name that is configured when setting the CIFS protocol.
      • Password: indicates the password that is configured when setting the CIFS protocol.
      • Source Path: indicates the complete path of the backup file on the NAS server. For example, backup path/backup task name_data source_task creation time/version_data source_task execution time.tar.gz.
    • OBS: indicates that the backup files are stored in the OBS directory.
      If you select this value, you need to set the following parameters:
      • Source Path: indicates the full path for storing backup data in OBS. For example, backup path/backup task name_data source_task creation time/version_data source_task execution time.tar.gz.

        MRS 3.1.0 and later versions support saving backup files to OBS.

  9. Click OK to save the settings.
  10. In the recovery task list, locate a created task and click Start in the Operation column to execute the recovery task.

    • After the recovery is successful, the progress bar is in green.
    • After the recovery is successful, the recovery task cannot be executed again.
    • If the recovery task fails during the first execution, rectify the fault and click Retry to execute the task again.