3.3. PostgreSQL コネクターのデプロイ
PostgreSQL コネクターのインストールは、JAR のみのダウンロード、Kafka Connect 環境への抽出、および Kafka Connect 環境でプラグインの親ディレクトリーが指定されていることを確認する簡単なプロセスです。
前提条件
- Zookeeper、Kafka、および Kafka Connect がインストールされている。
- PostgreSQL がインストールされ、設定されている。
手順
- Debezium 1.1.3 PostgreSQL コネクター をダウンロードします。
- ファイルを Kafka Connect 環境に抽出します。
プラグインの親ディレクトリーを Kafka Connect に追加し
plugin.path
ます。plugin.path=/kafka/connect
上記の例では、Debezium PostgreSQL コネクターを /kafka/connect/Debezium-connector-postgresql
パスに抽出していることを前提としています。
- Kafka Connect プロセスを再起動します。これにより、新しい JAR が確実に検出されます。
関連情報
デプロイメントプロセスおよび AMQ Streams でのコネクターのデプロイに関する詳細は、『Debezium インストールガイド』を参照してください。
3.3.1. 設定例
コネクターを使用して特定の PostgreSQL サーバーまたはクラスターの変更イベントを生成するには、以下を実行します。
- 論理デコードプラグインのインストール
- 論理レプリケーションに対応するように PostgreSQL サーバー を設定します。
- PostgreSQL コネクターの設定ファイルを作成します。
コネクターが起動すると、PostgreSQL サーバーのデータベースの一貫したスナップショットを取得し、変更をストリーミングし、挿入、更新、および削除される各行に対してイベントを生成します。スキーマおよびテーブルのサブセットのイベントを生成することもできます。任意で、機密性の高い、大きすぎる、または必要でないコラムを無視し、マスク、または切り捨てられます。
以下は、192.168.99.100 のポート 5432 で PostgreSQL サーバーを監視する PostgreSQL コネクターの設定例です fullfillment
。通常、コネクターで使用できる設定プロパティーを使用して、.yaml
ファイルに Debezium PostgreSQL コネクターを設定します。
apiVersion: kafka.strimzi.io/v1beta1 kind: KafkaConnector metadata: name: inventory-connector 1 labels: strimzi.io/cluster: my-connect-cluster spec: class: io.debezium.connector.postgresql.PostgresConnector tasksMax: 1 2 config: 3 database.hostname: postgresqldb 4 database.port: 5432 database.user: debezium database.password: dbz database.dbname: postgres database.server.name: fullfillment 5 database.whitelist: public.inventory 6
- 1
- コネクターの名前。
- 2
- 1 度に操作する必要があるタスクは 1 つだけです。PostgreSQL コネクターは PostgreSQL サーバーの読み取りを行うため
binlog
、単一のコネクタータスクを使用すると適切な順序とイベント処理が確保されます。Kafka Connect サービスはコネクターを使用して作業を行う 1 つ以上のタスクを開始し、Kafka Connect サービスのクラスター全体に実行中のタスクを自動的に分散します。いずれかのサービスが停止またはクラッシュすると、そのタスクは実行中のサービスに再分配されます。 - 3
- コネクターの設定。
- 4
- データベースホスト。これは、PostgreSQL サーバー(
postgresqldb
)を実行しているコンテナーの名前です。 - 5
- 一意のサーバー名。サーバー名は、サーバーの PostgreSQL サーバーまたはクラスターの論理識別子です。この名前は、すべての Kafka トピックの接頭辞として使用されます。
- 6
public.inventory
データベースの変更のみが検出されます。
これらの設定で指定できる コネクタープロパティーの完全なリスト を参照してください。
この設定は、POST から稼働中の Kafka Connect サービスに送信できます。これにより、設定を記録し、PostgreSQL データベースに接続し、イベントを Kafka トピックに記録する 1 つのコネクタータスクを開始します。