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 が稼働していることを仮定します。
手順
- Red Hat カスタマーポータルの Red Hat Integration のダウンロードサイト にアクセスし、Debezium コネクターまたは使用するコネクターをダウンロードします。たとえば、Debezium 1.7 MySQL Connector をダウンロードして、Dabezium を MySQL データベースと使用します。
/opt/kafkaで、他の Kafka Connect プラグインに対してディレクトリーが作成されていない場合は、connector-pluginsディレクトリーを作成します。sudo mkdir /opt/kafka/connector-plugins
$ sudo mkdir /opt/kafka/connector-pluginsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Debezium コネクターアーカイブの内容を
/opt/kafka/connector-pluginsディレクトリーに展開します。この例では、MySQL コネクターの内容が展開されます。
sudo unzip debezium-connector-mysql-1.7.2.Final.zip -d /opt/kafka/connector-plugins
$ sudo unzip debezium-connector-mysql-1.7.2.Final.zip -d /opt/kafka/connector-pluginsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - インストールするコネクターごとに、前述の手順を繰り返します。
kafkaユーザーに切り替えます。su - kafka Password:
$ su - kafka $ Password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka Connect プロセスが実行中の場合は、停止します。
次のコマンドを入力して、Kafka Connect が分散モードで実行されているかどうかを確認します。
jcmd | grep ConnectDistributed
$ jcmd | grep ConnectDistributedCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロセスが実行中の場合、コマンドはプロセス ID を返します。次に例を示します。
18514 org.apache.kafka.connect.cli.ConnectDistributed /opt/kafka/config/connect-distributed.properties
18514 org.apache.kafka.connect.cli.ConnectDistributed /opt/kafka/config/connect-distributed.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロセス ID を指定して
killコマンドを入力し、プロセスを停止します。次に例を示します。kill 18514
$ kill 18514Copy to Clipboard Copied! Toggle word wrap Toggle overflow
/opt/kafka/config/のconnect-distributed.propertiesファイルを編集し、Debezium コネクターの場所を指定します。plugin.path=/opt/kafka/connector-plugins
plugin.path=/opt/kafka/connector-pluginsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 分散モードで Kafka Connect を起動します。
/opt/kafka/bin/connect-distributed.sh /opt/kafka/config/connect-distributed.properties
$ /opt/kafka/bin/connect-distributed.sh /opt/kafka/config/connect-distributed.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka Connect が実行されます。起動中に、Debezium コネクターは
connector-pluginsディレクトリーからロードされます。- 各 Kafka Connect ワーカーノードに対して 6 から 8 を繰り返し行います。
Kafka Connect の更新
デプロイメントを更新する必要がある場合は、/opt/kafka/connector-plugins ディレクトリーの Debezium コネクター JAR ファイルを修正してから、Kafka Connect を再起動します。
次のステップ
『Debezium User Guide』には、変更データキャプチャーに各コネクターとそのソースデータベースを設定する方法が記載されています。設定が終了したら、コネクターはソースデータベースに接続し、挿入、更新、削除された各行または各ドキュメントのイベントを生成します。