2.2. Debezium コネクター設定の計画
Debezium コネクターをデプロイする前に、コネクターの設定方法を決定してください。設定は、コネクターの動作を指定する情報を提供し、Debezium がソースデータベースに接続することを可能にします。
コネクター設定を JSON として指定し、コネクターを登録する準備ができたら、curl
を使用して設定を Kafka Connect API エンドポイントに送信します。
前提条件
- ソースデータベースがデプロイされ、Debezium コネクターがデータベースにアクセスできます。
コネクターがソースデータベースにアクセスするために必要な以下の情報を把握しています。
- データベースホストの名前または IP アドレス。
- データベースに接続するためのポート番号。
- コネクターがデータベースへのサインインに使用できるアカウントの名前。
- データベースユーザーアカウントのパスワード。
- データベースの名前。
- コネクターの情報の取得元であるテーブルの名前。
- コネクターの変更イベントの出力先である Kafka ブローカーの名前。
- コネクターのデータベース履歴情報の送信先である Kafka トピックの名前。
手順
Debezium コネクターに適用する設定を JSON 形式で指定します。
次の例は、Debezium MySQL コネクターの簡単な設定を示しています。
{ "name": "inventory-connector", 1 "config": { "connector.class": "io.debezium.connector.mysql.MySqlConnector", 2 "tasks.max": "1", 3 "database.hostname": "mysql", 4 "database.port": "3306", 5 "database.user": "debezium", 6 "database.password": "dbz", 7 "database.server.id": "184054", 8 "database.server.name": "dbserver1", "database.include.list": "public.inventory", 9 "database.history.kafka.bootstrap.servers": "kafka:9092", 10 "database.history.kafka.topic": "dbhistory.inventory" 11 } }
- 1
- Kafka Connect クラスターに登録するコネクターの名前。
- 2
- コネクタークラスの名前。
- 3
- 同時に動作できるタスクの数。一度に操作できるタスクは 1 つだけです。
- 4
- ホストデータベースインスタンスのホスト名または IP アドレス。
- 5
- データベースインスタンスのポート番号。
- 6
- Debezium がデータベースに接続するユーザーアカウントの名前。
- 7
- データベースユーザーアカウントのパスワード
- 8
- 一意なサーバー ID および名前。サーバー名は、Debezium がアクセスできるデータベースサーバーまたはサーバーのクラスターの論理識別子です。Debezium は、作成する各 Kafka トピックにこの名前を接頭辞として付けます。
- 9
- コネクターが変更イベントをキャプチャーするテーブルの一覧。
- 10
- コネクターがデータベーススキーマ履歴を送信する Kafka ブローカーの名前。指定されたブローカーは、コネクターが出力する変更イベントも受け取ります。
- 11
- スキーマ履歴を格納する Kafka トピックの名前。
コネクターの再起動後、コネクターは停止した時点からデータベースログの読み取りを再開し、オフライン中に発生したトランザクションのイベントを出力します。コネクターは、未読トランザクションの変更イベントを Kafka に書き込む前に、スキーマ履歴をチェックしてから、元のトランザクションが発生したときに有効だったスキーマを適用します。
関連情報
- コネクターのタイプごとに設定できる設定プロパティーの詳細は、Debezium User Guide のコネクターのデプロイメントドキュメントを参照してください。