Replicator 構成の検証

Replicator 検証は、Replicator 構成の問題を識別して修正措置を推奨するコマンドラインツールです。このツールはコネクターまたは実行可能な構成を受け付け、参照されるクラスターに対して複数のチェックを実行します。このツールは、以下の目的に役立ちます。

  • 新しいデプロイの準備 - この検証ツールは、Replicator を実際にデプロイせずに新しい Replicator フロー構成が適切であることを確認できます。
  • 既存フローでの Replicator の問題の診断 - この検証ツールは、フローを再デプロイせずに問題の領域をすばやく識別できます。

ちなみに

Replicator 検証は、Confluent Platform のインストール の過程で $CONFLUENT_HOME/bin ディレクトリにインストールされます。Confluent Platform がインストールされて 稼動状態 になっていれば、コマンドラインから「replicator-verifier」と入力することで、コマンドとそのオプションの情報が出力されます。

検証の実行

Replicator 検証は、以下の 3 つの送信元の構成を使用して実行します。

注釈

Replicator 検証は、Replicator が実行されるホストから実行する必要があります。

  • Replicator 実行可能ファイルから

    replicator-verifier \
     --consumer.config ./consumer.properties \
     --producer.config ./producer.properties \
     --replication.config ./replication.properties
    
  • コネクター json から

    replicator-verifier \
     --replicator-json ./replicator.json
    
  • デプロイされているコネクターから

    replicator-verifier \
     --connect-url localhost:8083 \
     --connector-name replicator
    

完了時に、Replicator 検証は実行されたチェックとその結果のサマリーを生成します。

[2020-02-28 12:39:02,252] INFO All checks completed. (io.confluent.connect.replicator.Verifier)
[2020-02-28 12:39:02,252] INFO              Source cluster describe configs check : PASSED (io.confluent.connect.replicator.Verifier)
[2020-02-28 12:39:02,253] INFO                     Connectivity check Destination : PASSED (io.confluent.connect.replicator.Verifier)
[2020-02-28 12:39:02,253] INFO              topic.whitelist/topic.blacklist check : PASSED (io.confluent.connect.replicator.Verifier)
[2020-02-28 12:39:02,253] INFO                              License manager check : PASSED (io.confluent.connect.replicator.Verifier)
[2020-02-28 12:39:02,253] INFO                Consumer offset commit check source : PASSED (io.confluent.connect.replicator.Verifier)
[2020-02-28 12:39:02,253] INFO           Consumer offset commit check destination : PASSED (io.confluent.connect.replicator.Verifier)
[2020-02-28 12:39:02,253] INFO                        Destination topic ACL check : PASSED (io.confluent.connect.replicator.Verifier)
[2020-02-28 12:39:02,253] INFO                                  Topic regex check : PASSED (io.confluent.connect.replicator.Verifier)
[2020-02-28 12:39:02,253] INFO                             Source topic ACL check : PASSED (io.confluent.connect.replicator.Verifier)
[2020-02-28 12:39:02,253] INFO                          Connectivity check Source : PASSED (io.confluent.connect.replicator.Verifier)
[2020-02-28 12:39:02,253] INFO Verifier run complete. (io.confluent.connect.replicator.Verifier)

失敗したチェックでは、問題を解決するために関連パラメーターについて説明したガイダンスが表示されます。

[2020-02-28 12:41:46,846] INFO                              License manager check : FAILED
By default, Replicator will assume the license is stored in the _confluent-command topic on the destination cluster.
Please ensure that the properties prefixed "dest.kafka." refer to your license cluster, topic and principal.
Alternatively, these can be overridden using the "confluent.topic." prefix (e.g. confluent.topic.bootstrap.servers).
(io.confluent.connect.replicator.Verifier)

重要

Replicator 検証は、現時点ではインターセプターのモニタリングをサポートしていません。検証を実行する前に、*.interceptor.classes などの構成を Replicator 構成から削除する必要があります。

Replicator 検証のコマンドラインパラメーター

使用できるコマンドラインパラメーターは以下のとおりです。

コマンドラインパラメーター 説明
--connect-url <Connect ワーカー URL> コネクターを実行している Connect インスタンスの URL
--connector-name <Replicator コネクターの名前> Replicator コネクターの名前
--replicator-json <replicator.json> コネクターとして実行されている Replicator の構成を含む JSON ファイル
--producer.config <producer.properties> 実行可能ファイルモードで実行されている Replicator のプロデューサー構成ファイル
--consumer.config <consumer.properties> 実行可能ファイルモードで実行されている Replicator のコンシューマー構成ファイル
--replication.config <replication.properties> 実行可能モードで実行されている Replicator の Replicator 構成ファイル
--destination-test-topic <トピック名> 送信先トピックの名前です。これは送信先クラスターでのドライランチェックに使用されるランダム化されたトピック名をオーバーライドします(このトピックは既に存在する必要があります)。

実行されるチェック

Replicator 検証では、以下のチェックを実行して、指定された構成が有効であることを確認します。

非侵入的なチェック

  • 送信元クラスター接続チェック - 送信元クラスターに Replicator を接続できることを確認します。
  • 送信先クラスター接続チェック - 送信先クラスターに Replicator を接続できることを確認します。
  • トピックホワイトリスト/ブラックリストチェック - ホワイトリスト/ブラックリスト内のトピックのリストが有効であり、競合していないことを確認します。
  • トピック正規表現チェック - トピックの正規表現一致パターンが有効であることを確認し、一致したトピックのセットを表示します。
  • ライセンスチェック - Replicator を使用するための有効なライセンスが存在することを確認します。
  • 送信元トピック読み取りチェック - 構成されている送信元トピックを Replicator で読み取ることができることを確認します。
  • 送信元トピック詳細表示チェック - 構成されている送信元トピックの詳細を Replicator で表示できることを確認します。
  • コンシューマータイムスタンプテスト - オフセット変換のために内部タイムスタンプトピックに対し、Replicator でタイムスタンプの読み取り/書き込みを実行できることを確認します。

侵入的なチェック

注釈

侵入的なチェックでは、クラスターが実行されているステートが一時的に変更されます。行われる変更は、トピックの作成/操作とコンシューマーオフセットのコミットです。Replicator 検証では、これらのチェックの実行前に承認を求められ、インタラクティブモードで実行されます。

  • 送信先トピックチェック - サンプル送信先トピックに対して以下の必須のアクションを Replicator で実行できることを確認します。
    1. Create
    2. Describe
    3. Describe Configs
    4. Alter
    5. Produce
  • 送信元クラスターオフセットコミット - Replicator でコンシューマーオフセットを送信元クラスターにコミットできることを確認します。
  • 送信先クラスターオフセットコミット - Replicator でコンシューマーオフセットを送信先クラスターにコミットできることを確認します。