3.3. PostgreSQL コネクターのデプロイ

PostgreSQL コネクターのインストールは、JAR のみのダウンロード、Kafka Connect 環境への抽出、および Kafka Connect 環境でプラグインの親ディレクトリーが指定されていることを確認する簡単なプロセスです。

前提条件

手順

  1. Debezium 1.1.3 PostgreSQL コネクター をダウンロードします。
  2. ファイルを Kafka Connect 環境に抽出します。
  3. プラグインの親ディレクトリーを Kafka Connect に追加し plugin.pathます。

    plugin.path=/kafka/connect
注記

上記の例では、Debezium PostgreSQL コネクターを /kafka/connect/Debezium-connector-postgresql パスに抽出していることを前提としています。

  1. Kafka Connect プロセスを再起動します。これにより、新しい JAR が確実に検出されます。

関連情報

デプロイメントプロセスおよび AMQ Streams でのコネクターのデプロイに関する詳細は、『Debezium インストールガイド』を参照してください。

3.3.1. 設定例

コネクターを使用して特定の PostgreSQL サーバーまたはクラスターの変更イベントを生成するには、以下を実行します。

  1. 論理デコードプラグインのインストール
  2. 論理レプリケーションに対応するように PostgreSQL サーバー を設定します。
  3. 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 つのコネクタータスクを開始します。