4.5. MongoDB コネクターのデプロイ
MongoDB コネクターのインストールは、JAR のみのダウンロード、Kafka Connect 環境への抽出、およびプラグインの親ディレクトリーを Kafka Connect 環境に指定する必要がある単純なプロセスです。
前提条件
- Zookeeper、Kafka、および Kafka Connect がインストールされている。
- MongoDB がインストールされ、設定されている。
手順
- Debezium MongoDB コネクター をダウンロードします。
- ファイルを Kafka Connect 環境に抽出します。
プラグインの親ディレクトリーを Kafka Connect に追加し
plugin.path
ます。plugin.path=/kafka/connect
上記の例では、Debezium MongoDB コネクターを /kafka/connect/Debezium-connector-mongodb
パスに抽出していることを前提としています。
- Kafka Connect プロセスを再起動します。これにより、新しい JAR が確実に検出されます。
関連情報
デプロイメントプロセスおよび AMQ Streams でのコネクターのデプロイに関する詳細は、『Debezium インストールガイド』を参照してください。
4.5.1. 設定例
コネクターを使用して特定の MongoDB レプリカセットまたはシャードクラスターの変更イベントを生成するには、JSON に設定ファイルを作成します。コネクターが起動すると、MongoDB レプリカセットでコレクションのスナップショットを実行し、レプリカセットの oplog の読み取り、挿入、更新、および削除されるすべての行についてのイベントの生成を開始します。任意で、不要なコレクションを除外します。
192.168.99.100 のポート 27017 rs0
で MongoDB レプリカセットを監視する MongoDB コネクターの設定例を以下に示します fullfillment
。通常、コネクターで使用できる設定プロパティーを使用して、.yaml
ファイルで Debezium MongoDB コネクターを設定します。
apiVersion: kafka.strimzi.io/v1beta1 kind: KafkaConnector metadata: name: inventory-connector 1 labels: strimzi.io/cluster: my-connect-cluster spec: class: io.debezium.connector.mongodb.MongoDbConnector 2 config: mongodb.hosts: rs0/192.168.99.100:27017 3 mongodb.name: fulfillment 4 collection.whitelist: inventory[.]* 5
- 1
- Kafka Connect サービスに登録した場合のコネクターの名前。
- 2
- MongoDB コネクタークラスの名前。
- 3
- MongoDB レプリカセットに接続するために使用するホストアドレス。
- 4
- 生成されたイベントの namespace を構成する MongoDB レプリカセットの 論理名。これは、コネクターが書き込む Kafka トピックの名前、Kafka Connect スキーマ名、および Avro Connector が使用されたときに対応する Avro スキーマの namespace で使用されます。
- 5
- 監視するすべてのコレクションの名前空間(例: <dbName>.<collectionName>)に一致する正規表現の一覧。これはオプションです。
これらの設定で指定できる コネクタープロパティーの完全なリスト を参照してください。
この設定は、POST を介して実行中の Kafka Connect サービスに送信できます。これにより、設定を記録し、MongoDB レプリカセットまたはシャードクラスターに接続される 1 つのコネクタータスクを開始し、各レプリカセットのタスクを割り当てます。必要な場合はスナップショットを実行し、イベントを Kafka トピックに読み取り、イベントを Kafka トピックに読み取ります。