2.3. AMQ Streams での Debezium のデプロイ


この手順では、Red Hat OpenShift Container Platform で Debezium のコネクターを設定する方法を説明します。

作業を開始する前に

OpenShift で Apache Kafka および Kafka Connect を設定するには、Red Hat AMQ Streams を使用します。AMQ Streams は、Kafka を OpenShift に取り入れる operator およびイメージを提供します。

ここでは、Kafka Connect S2I(Source to Image)をデプロイおよび使用します。S2I は、アプリケーションのソースコードを入力として受け入れ、アセンブルされたアプリケーションをアウトプットとして実行する新規イメージを生成するイメージをビルドするフレームワークです。

S2I がサポートされる Kafka Connect ビルダーイメージは、registry.redhat.io/amq7/amq-streams-kafka-24:1.4.0 イメージの一部として、Red Hat Container Catalog で提供されます。S2I プロセスは(プラグインおよびコネクターとともに)バイナリーを取得して、/tmp/kafka-plugins/s2i ディレクトリーに保存します。このディレクトリーから、Kafka Connect デプロイメントとともに使用できる新しい Kafka Connect イメージを作成します。改良されたイメージの使用を開始すると、Kafka Connect は /tmp/kafka-plugins/s2i ディレクトリーからサードパーティープラグインをロードします。

注記

Kafka Connect S2I をデプロイおよび使用するのではなく、AMQ Streams Kafka イメージに基づいて新しい Dockerfile を作成し、コネクターを含めることができます。

3章Kafka Connect ベースイメージからのコンテナーイメージの作成を参照してください。

この手順では、以下を行います。

  • Kafka クラスターを OpenShift にデプロイします。
  • Debezium コネクターのダウンロードおよび設定
  • コネクターでの Kafka Connect のデプロイ

Kafka クラスターがすでにデプロイされている場合は、最初の手順を省略できます。

注記

Pod 名は AMQ Streams デプロイメントに対応する必要があります。

手順

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

    1. Installing AMQ Streams and deploying components 』の手順に従って、AMQ Streams operator をインストールします。
    2. 希望の設定を選択し、Kafka Cluster をデプロイし ます。
    3. Kafka Connect s2i をデプロイします。

    これで、Kafka Connect S2I を使用して OpenShift で Kafka クラスターが稼働しました。

  2. Pod が実行されていることを確認します。

    $ oc get pods
    
    NAME                                               READY STATUS
    <cluster-name>-entity-operator-7b6b9d4c5f-k7b92    3/3   Running
    <cluster-name>-kafka-0                             2/2   Running
    <cluster-name>-zookeeper-0                         2/2   Running
    <cluster-name>-operator-97cd5cf7b-l58bq            1/1   Running

    Pod の実行の他に、DeploymentConfig が Connect S2I に関連付けられている必要があります。

  3. リリース 1.0 を選択し、Red Hat Integration のダウンロードサイト からデータベースの Debezium コネクターアーカイブをダウンロード します。
  4. アーカイブを展開して、コネクタープラグインのディレクトリー構造を作成します。

    $ tree ./my-plugin/
    ./my-plugin/
    ├── debezium-connector-mongodb
    |   ├── ...
    ├── debezium-connector-mysql
    │   ├── ...
    ├── debezium-connector-postgres
    │   ├── ...
    └── debezium-connector-sqlserver
        ├── ...

    これで Kafka Connect S2I ビルドがトリガーされます。

  5. ビルド設定の名前を確認します。

    $ oc get buildconfigs
    
    NAME                             TYPE     FROM     LATEST
    <cluster-name>-cluster-connect   Source   Binary   2
  6. oc start-build コマンドを使用して、Debezium ディレクトリーを使用して Kafka Connect イメージの新しいビルドを開始します。

    oc start-build <cluster-name>-cluster-connect --from-dir ./my-plugin/
    注記

    ビルドの名前は、デプロイされた Kafka Connect クラスターと同じになります。

  7. 更新されたデプロイメントが実行していることを確認します。

    oc get pods
    
    NAME                                              READY     STATUS
    <cluster-name>-entity-operator-7b6b9d4c5f-k7b92   3/3       Running
    <cluster-name>-kafka-0                            2/2       Running
    <cluster-name>-zookeeper-0                        2/2       Running
    <cluster-name>-cluster-connect-2-jw695            1/1       Running
    <cluster-name>-cluster-connect-2-deploy           0/1       Completed
    strimzi-cluster-operator-97cd5cf7b-l58bq          1/1       Running

    または、OpenShift Web コンソールの Pods ビューに移動して、Pod が実行中であることを確認できます。

    OpenShift amq Pod

Kafka Connect の更新

デプロイメントを更新する必要がある場合は、Debezium ディレクトリーの JAR ファイルを修正し、Kafka Connect を再ビルドします。

デプロイメントの確認

ビルドが完了したら、Kafka Connect のデプロイメントによって新しいイメージが自動的に使用されます。

コネクターが起動すると、ソースに接続し、挿入、更新、削除された各行またはドキュメントのイベントを生成します。

Debezium スタートガイド』 の手順に従ってデプロイメントが正しいことを確認します。サービスの起動 には、Kafka クラスターの設定および Kafka Connect の設定手順が記載されています。

特定のコネクターを設定するには、以下を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.