Debezium の RHEL へのインストール


Red Hat Integration 2022.Q1

Red Hat Enterprise Linux (RHEL) での Debezium 1.7 の使用

概要

本ガイドでは、AMQ Streams を使用して RHEL に Red Hat Debezium をインストールする方法を説明します。

前書き

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージをご覧ください。

第1章 Debezium の概要

Debezium for Red Hat Integration は、データベース操作をキャプチャーし、行レベル操作のデータ変更イベントレコードを作成して、Apache Kafka トピックに変更イベントレコードをストリーミングする分散型プラットフォームです。Debezium は Apache Karaf に構築され、AMQ Streams とデプロイおよび統合されます。

Debezium によって、データベーステーブルの行レベルの変更がキャプチャーされ、対応する変更イベントが AMQ Streams に渡されます。アプリケーションはこれらの 変更イベントストリーム を読み取りでき、変更イベントが発生した順にアクセスできます。

Debezium は、Debezium for Red Hat Integration のアップストリームコミュニティープロジェクトです。

Debezium には、以下を含む複数の用途があります。

  • データレプリケーション。
  • キャッシュの更新およびインデックスの検索。
  • モノリシックアプリケーションの簡素化。
  • データ統合。
  • ストリーミングクエリーの有効化。

Debezium は、以下の共通データベースのコネクター (Kafka Connect をベースとする) を提供します。

第2章 Debezium コネクターの RHEL へのインストール

コネクタープラグインで Kafka Connect を拡張して、AMQ Streams 経由で Debezium コネクターをインストールします。AMQ Streams のデプロイ後に、Kafka Connect で Debezium をコネクター設定としてデプロイできます。

2.1. 前提条件

Debezium のインストールには、以下が必要です。

  • Red Hat Enterprise Linux が実行しています。
  • 管理者権限 (sudo アクセス)。
  • AMQ Streams 2.0 on Red Hat Enterprise Linux がホストコンピューターにインストールされている。
  • AMQ Streams のインストール時に作成された kafka ユーザーのクレデンシャル。
  • AMQ Streams クラスターが稼働している。

    • 単一の ZooKeeper ノードおよび単一の Kafka ノードが含まれる実稼働ではない、基本的な AMQ Streams クラスターを実行するための手順は、Running a single node AMQ Streams cluster を参照してください。
注記

以前のバージョンの AMQ Streams を使用している場合は、最初に AMQ Streams 2.0 にアップグレードする必要があります。アップグレードの手順は、「AMQ Streams and Kafka upgrades」を参照してください。

関連情報

2.2. Kafka トピック作成に関する推奨事項

Debezium は、データを複数の Apache Kafka トピックに保存します。トピックは、管理者が事前に作成する必要があります。または、Kafka Connect を設定して トピックを自動的に設定します

以下のリストで、トピックの作成時に考慮すべき制限および推奨事項を説明します。

MySQL、SQL Server、Db2、および Oracle コネクターのデータベース履歴トピック
  • 無限または非常に長い保持期間。
  • 3 以上の実稼働環境でのレプリケーション係数。
  • 単一パーティション。
その他のトピック
  • 指定のレコードの 最後の 変更イベントのみが保存されるように Kafka ログコンパクション を有効にする場合は、Apache Kafka で以下のトピックプロパティーを設定します。

    • min.compaction.lag.ms
    • delete.retention.ms

      トピックコンシューマーがすべてのイベントを受信してマーカーを削除するのに十分な時間を確保するには、シンクコネクターに予想される最大ダウンタイムよりも大きい値を前述のプロパティーの値に指定します。たとえば、シンクコネクターに更新を適用する際に発生する可能性のあるダウンタイムについて考えてみましょう。

  • 実稼働でレプリケートされます。
  • 単一パーティション。

    単一パーティションルールを緩和できますが、アプリケーションはデータベースの異なる行に対して順不同のイベントを処理する必要があります。単一行のイベントは、引き続き完全に順序付けされます。複数のパーティションを使用する場合、Kafka がキーをハッシュ化してパーティションを決定するのがデフォルトの動作になります。その他のパーティションストラテジーでは、単一メッセージ変換 (SMT: Single Message Transformations) を使用して、各レコードにパーティション番号を設定する必要があります。

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

この手順では、Red Hat Enterprise Linux で Debezium のコネクターを設定する方法を説明します。コネクターは、Apache Kafka Connect を使用して AMQ Streams クラスターにデプロイされます。Kafka Connect は Apache Kafka と外部システムとの間でデータをストリーミングするためのフレームワークです。Kafka Connect は、スタンドアロンモードではなく分散モードで実行する必要があります。

この手順では、AMQ Streams がインストールされ、ZooKeeper および Apache Kafka が稼働していることを仮定します。

手順

  1. Red Hat カスタマーポータルの Red Hat Integration のダウンロードサイト にアクセスし、Debezium コネクターまたは使用するコネクターをダウンロードします。たとえば、Debezium 1.7 MySQL Connector をダウンロードして、Dabezium を MySQL データベースと使用します。
  2. /opt/kafka で、他の Kafka Connect プラグインに対してディレクトリーが作成されていない場合は、connector-plugins ディレクトリーを作成します。

    $ sudo mkdir /opt/kafka/connector-plugins
  3. Debezium コネクターアーカイブの内容を /opt/kafka/connector-plugins ディレクトリーに展開します。

    この例では、MySQL コネクターの内容が展開されます。

    $ sudo unzip debezium-connector-mysql-1.7.2.Final.zip -d /opt/kafka/connector-plugins
  4. インストールするコネクターごとに、前述の手順を繰り返します。
  5. kafka ユーザーに切り替えます。

    $ su - kafka
    $ Password:
  6. Kafka Connect プロセスが実行中の場合は、停止します。

    1. 次のコマンドを入力して、Kafka Connect が分散モードで実行されているかどうかを確認します。

      $ jcmd | grep ConnectDistributed

      プロセスが実行中の場合、コマンドはプロセス ID を返します。次に例を示します。

      18514 org.apache.kafka.connect.cli.ConnectDistributed /opt/kafka/config/connect-distributed.properties
    2. プロセス ID を指定して kill コマンドを入力し、プロセスを停止します。次に例を示します。

      $ kill 18514
  7. /opt/kafka/config/connect-distributed.properties ファイルを編集し、Debezium コネクターの場所を指定します。

    plugin.path=/opt/kafka/connector-plugins
  8. 分散モードで Kafka Connect を起動します。

    $ /opt/kafka/bin/connect-distributed.sh /opt/kafka/config/connect-distributed.properties

    Kafka Connect が実行されます。起動中に、Debezium コネクターは connector-plugins ディレクトリーからロードされます。

  9. 各 Kafka Connect ワーカーノードに対して 6 から 8 を繰り返し行います。

Kafka Connect の更新

デプロイメントを更新する必要がある場合は、/opt/kafka/connector-plugins ディレクトリーの Debezium コネクター JAR ファイルを修正してから、Kafka Connect を再起動します。

次のステップ

Debezium User Guide』には、変更データキャプチャーに各コネクターとそのソースデータベースを設定する方法が記載されています。設定が終了したら、コネクターはソースデータベースに接続し、挿入、更新、削除された各行または各ドキュメントのイベントを生成します。

付録A サブスクリプションの使用

AMQ Streams は、ソフトウェアサブスクリプションによって提供されます。サブスクリプションを管理するには、Red Hat カスタマーポータルでアカウントにアクセスします。

アカウントへのアクセス

  1. access.redhat.com に移動します。
  2. アカウントがない場合は、作成します。
  3. アカウントにログインします。

サブスクリプションのアクティベート

  1. access.redhat.com に移動します。
  2. サブスクリプション に移動します。
  3. Activate a subscription に移動し、16 桁のアクティベーション番号を入力します。

zip および tar ファイルのダウンロード

zip または tar ファイルにアクセスするには、カスタマーポータルを使用して、ダウンロードする関連ファイルを検索します。RPM パッケージを使用している場合は、この手順は必要ありません。

  1. ブラウザーを開き、access.redhat.com/downloads で Red Hat カスタマーポータルの Product Downloads ページにログインします。
  2. INTEGRATION AND AUTOMATION まで下方向にスクロールします。
  3. Red Hat Integration をクリックして、Red Hat Integration ダウンロードページを表示します。
  4. コンポーネントの Download リンクをクリックします。

改定日時: 2022-04-16 18:47:45 +1000

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.