ローカルの「起動」Dockerコンテナ(Kafkaノードコンテナとは別)で分散モードでKafkaコネクタを起動しています。コネクタは期待どおりに機能しますが、起動コンテナーを強制終了すると、コネクタが機能しなくなります。別のコンテナーの Kafka ノードのワーカーで登録され、実行されていると信じていたので、引き続き動作することを期待していました。私のセットアップの詳細は次のとおりです。
現在、Docker コンテナーを介してすべてをローカルで実行しています。私は持っている:
- Zookeeper ノード (3.4.9)
- Kafka ノード (Apache、0.10.1.0)
- 「起動」ノード。
起動ノードは適切な Kafka バージョンをダウンロードし、そのコンテンツを解凍します。次に、コネクタ ソースをビルドし、必要な JAR を含むようにクラスパスを設定し、コネクタを次のように実行します。
connect-distributed.sh config/connect-distributed.properties
分散プロパティ ファイルは、グループ ID、さまざまなトピック名、スキーマとコンバーター、およびブートストラップ サーバー (上記の Kafka ノード (2) を指す) を設定します。
このコマンドは正常に実行され、restful コネクタの http サービスが正常に開始されたようです。次に、POST 要求をhttp://example:8083/connectorsに発行して、コネクタ タスクの構成を提供します。コマンドはエラーなしで完了し、コネクターは正常に開始されます。Kafka ノード (2) のトピックから使用でき、コネクタが動作してデータを送信していることを示す出力が表示されます。
起動ノード (3) を強制終了すると、1 つのクラスターではありますが、コネクターを Kafka クラスターに登録したため、コネクターが引き続き実行されることが予想されます。コネクタは実行を継続せず、起動ノードで停止しているように見えます。コネクタは現在、クラスター内のワーカーによって管理されているはずではありませんか? コネクタの起動方法を変更する必要がありますか、それとも何か誤解していますか?