6.6. Kafka MirrorMaker のデプロイ


Kafka MirrorMaker は、データセンター内またはデータセンター全体の 2 台以上の Kafka クラスター間でデータをレプリケーションします。Kafka パーティションレプリケーションの概念との混同を避けるために、このプロセスはミラーリングと呼ばれます。MirrorMaker は、ソースクラスターからのメッセージを消費し、それらのメッセージをターゲットクラスターに再パブリッシュします。

クラスター間のデータレプリケーションは、以下を必要とするシナリオをサポートします。

  • システム障害時のデータの復旧
  • 集中分析のための複数のソースクラスターからのデータの統合
  • 特定のクラスターへのデータアクセスの制限
  • レイテンシーを改善するための特定場所でのデータのプロビジョニング

6.6.1. Kafka MirrorMaker の OpenShift クラスターへのデプロイ

この手順では、Cluster Operator を使用して Kafka MirrorMaker クラスターを OpenShift クラスターにデプロイする方法を説明します。

デプロイメントでは、YAML ファイルの仕様を使用して、デプロイされた MirrorMaker のバージョンに応じて KafkaMirrorMaker または KafkaMirrorMaker2 リソースが作成されます。MirrorMaker 2 は Kafka Connect に基づいており、その設定プロパティーを使用します。

重要

Kafka MirrorMaker 1 (ドキュメントでは単に MirrorMaker と呼ばれる) は Apache Kafka 3.0.0 で非推奨となり、Apache Kafka 4.0.0 で削除されます。そのため、Kafka MirrorMaker 1 のデプロイに使用される KafkaMirrorMaker カスタムリソースも、Streams for Apache Kafka で非推奨となりました。KafkaMirrorMaker リソースは、Apache Kafka 4.0.0 の導入時に Streams for Apache Kafka から削除されます。代わりに、IdentityReplicationPolicyKafkaMirrorMaker2 カスタムリソースを使用します。

Streams for Apache Kafka は、設定ファイルのサンプル を提供します。この手順では、以下のサンプルファイルを使用します。

  • examples/mirror-maker/kafka-mirror-maker.yaml
  • examples/mirror-maker/kafka-mirror-maker-2.yaml
重要

同じターゲット Kafka クラスターを使用して、MirrorMaker 2 クラスターを並列実行するようにデプロイする場合、各インスタンスは内部 Kafka Connect トピックに一意の名前を使用する必要があります。これを行うには、デフォルトを置き換えるように各 MirrorMaker 2 インスタンスを設定 します。

手順

  1. Kafka MirrorMaker を OpenShift クラスターにデプロイします。

    MirrorMaker の場合

    oc apply -f examples/mirror-maker/kafka-mirror-maker.yaml

    MirrorMaker 2 の場合:

    oc apply -f examples/mirror-maker/kafka-mirror-maker-2.yaml
  2. デプロイメントのステータスを確認します。

    oc get pods -n <my_cluster_operator_namespace>

    デプロイメント名と準備状態が表示されている出力

    NAME                                    READY  STATUS   RESTARTS
    my-mirror-maker-mirror-maker-<pod_id>   1/1    Running  1
    my-mm2-cluster-mirrormaker2-<pod_id>    1/1    Running  1

    my-mirror-maker は、Kafka MirrorMaker クラスターの名前です。my-mm2-cluster は、Kafka MirrorMaker 2 クラスターの名前です。

    Pod ID は、作成された各 Pod を識別します。

    デフォルトのデプロイメントでは、単一の MirrorMaker または MirrorMaker 2 Pod をインストールします。

    READY は、Ready/expected 状態のレプリカ数を表示します。STATUSRunning と表示されれば、デプロイメントは成功です。

6.6.2. Kafka MirrorMaker 2 クラスターリソースのリスト

以下のリソースは、OpenShift クラスターの Cluster Operator によって作成されます。

<mirrormaker2_cluster_name>-mirrormaker2

次の MirrorMaker 2 リソースに指定された名前。

  • MirrorMaker 2 ワーカーノード Pod を作成する StrimziPodSet。
  • MirrorMaker 2 Pod に安定した DNS 名を提供するヘッドレスサービス。
  • MirrorMaker 2 Pod によって使用されるサービスアカウント。
  • MirrorMaker 2 ワーカーノードに設定された Pod の Disruption Budget。
  • MirrorMaker 2 REST API へのアクセスを管理するネットワークポリシー。
<mirrormaker2_cluster_name>-mirrormaker2-<pod_id>
MirrorMaker 2 StrimziPodSet によって作成された Pod。
<mirrormaker2_cluster_name>-mirrormaker2-api
MirrorMaker 2 クラスターを管理するための REST インターフェイスを公開するサービス。
<mirrormaker2_cluster_name>-mirrormaker2-config
MirrorMaker 2 の補助設定が含まれ、MirrorMaker 2 Pod によってボリュームとしてマウントされる ConfigMap。
strimzi-<namespace-name>-<mirrormaker2_cluster_name>-mirrormaker2-init
MirrorMaker 2 クラスターによって使用されるクラスターのロールバインディング。

6.6.3. Kafka MirrorMaker クラスターリソースのリスト

以下のリソースは、OpenShift クラスターの Cluster Operator によって作成されます。

<mirrormaker_cluster_name>-mirror-maker

次の MirrorMaker リソースに指定された名前。

  • MirrorMaker Pod を作成するデプロイメント。
  • MirrorMaker ノードで使用されるサービスアカウント。
  • MirrorMaker ワーカーノードに設定された Pod の Disruption Budget。
<mirrormaker_cluster_name>-mirror-maker-config
MirrorMaker の補助設定が含まれ、MirrorMaker Pod によってボリュームとしてマウントされる ConfigMap。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.