4.4. Deploying the SQL Server connector
SQL Server コネクターのインストールは、JAR をダウンロードして Kafka Connect 環境に抽出し、プラグインの親ディレクトリーが Kafka Connect 環境に指定されていることを確認する必要がある単純なプロセスです。
前提条件
- Zookeeper、Kafka、および Kafka Connect がインストールされている。
- SQL Server をインストールし、設定している。
手順
- Debezium SQL Server コネクター をダウンロードします。
- ファイルを Kafka Connect 環境に展開します。
プラグインの親ディレクトリーを Kafka Connect プラグインパスに追加します。
plugin.path=/kafka/connect
上記の例では、Debezium SQL Server コネクターを /kafka/connect/Debezium-connector-sqlserver
パスに展開したことを前提としています。
- Kafka Connect プロセスを再起動します。これにより、新しい JAR が確実に選択されるようになります。
関連情報
デプロイメントプロセス、および AMQ Streams でのコネクターのデプロイに関する詳細は、Debezium のインストールガイドを参照してください。
4.4.1. 設定例
コネクターを使用して、特定の SQL Server データベースまたはクラスターの変更イベントを生成するには、以下を行います。
- SQL Server で CDC を有効にして、データベースに CDC イベントを公開します。
- SQL Server コネクターの設定ファイルを作成します。
コネクターが起動すると、SQL Server データベースのスキーマの整合性スナップショットを取得し、変更のストリーミングを開始し、挿入、更新、および削除されたすべての行に対してイベントを生成します。スキーマおよびテーブルのサブセットに対してイベントを生成することもできます。必要に応じて、機密、大きすぎる列、または不要な列を無視、マスク、または切り捨てます。
以下は、192.168.99.100 のポート 1433 で SQL Server サーバーを監視するコネクターインスタンスの設定例で、これは論理的に fullfillment
という名前になります。通常、コネクターに使用できる設定プロパティーを使用して、.yaml
ファイルに Debezium SQL Server コネクターを設定します。
apiVersion: kafka.strimzi.io/v1beta1 kind: KafkaConnector metadata: name: inventory-connector 1 labels: strimzi.io/cluster: my-connect-cluster spec: class: io.debezium.connector.sqlserver.SqlServerConnector 2 config: database.hostname: 192.168.99.100 3 database.port: 1433 4 database.user: debezium 5 database.password: dbz 6 database.dbname: testDB 7 database.server.name: fullfullment 8 database.whitelist: dbo.customers 9 database.history.kafka.bootstrap.servers: my-cluster-kafka-bootstrap:9092 10 database.history.kafka.topic: dbhistory.fullfillment 11
- 1
- Kafka Connect サービスに登録する場合のコネクターの名前。
- 2
- この SQL Server コネクタークラスの名前。
- 3
- SQL Server インスタンスのアドレス。
- 4
- SQL Server インスタンスのポート番号。
- 5
- SQL Server ユーザーの名前
- 6
- SQL Server ユーザーのパスワード
- 7
- 変更をキャプチャーするデータベースの名前。
- 8
- namespace を形成する SQL Server インスタンス/クラスターの論理名で、コネクターが書き込む Kafka トピックの名前、Kafka Connect スキーマ名、および Avro コネクターが使用される場合に対応する Avro スキーマの namespace のすべてに使用されます。
- 9
- Debezium が変更をキャプチャーする必要があるすべてのテーブルのリスト。
- 10
- DDL ステートメントをデータベース履歴トピックに書き込み、復元するためにコネクターによって使用される Kafka ブローカーのリスト。
- 11
- コネクターが DDL ステートメントを書き、復元するデータベース履歴トピックの名前。このトピックは内部使用のみを目的としており、コンシューマーが使用しないようにしてください。
これら の設定で指定できる コネクタープロパティーの完全リスト を参照してください。
この設定は、POST 経由で稼働中の Kafka Connect サービスに送信できます。その後、設定を記録し、SQL Server データベースに接続するコネクタータスクを 1 つ起動します。トランザクションログを読み取り、イベントを Kafka トピックに記録します。