いくつかのKafkaコネクタを使用しており、コンソールの出力でそれらの作成/デプロイメントにエラーが表示されませんが、探している結果が得られません(そのため、望ましいかどうかにかかわらず、結果はまったくありません。私はこれらのコネクタをKafkaのサンプルFileStreamコネクタに基づいて作成したので、私のデバッグ手法は、サンプルで使用されているSLF4Jロガーの使用に基づいていました。ログを検索しましたコンソール出力で生成されるだろうと思ったが、役に立たないメッセージこれらのメッセージを間違った場所で探していますか?あるいは、これらのコネクターをデバッグするためのより良い方法はありますか?
私の実装で参照したSLF4Jロガーの使用例:
幅広い質問にお答えできるよう努めます。コネクタ開発を行う簡単な方法は次のとおりです。
コネクタパッケージをKafkaで利用できるようにします。以下のいずれかの方法で接続します。
plugin.path
_プロパティに追加してプラグイン分離を有効にします。たとえば、コネクタjarが_/opt/connectors/my-first-connector
_に格納されている場合、ワーカーのプロパティで_plugin.path=/opt/connectors
_を設定します(以下を参照)。${CONFLUENT_HOME}/share/Java
_の下のフォルダに保存します。例:_${CONFLUENT_HOME}/share/Java/kafka-connect-my-first-connector
_。 (_kafka-connect-
_接頭辞で始まる必要があり、起動スクリプトによってピックアップされます)。 $ CONFLUENT_HOMEはConfluent Platformをインストールした場所です。必要に応じて、_${CONFLUENT_HOME}/etc/kafka/connect-log4j.properties
_のConnectのログレベルをDEBUG
またはTRACE
に変更して、ロギングを増やします。
Confluent CLIを使用して、Kafka Connectを含むすべてのサービスを開始します。詳細はこちら: http://docs.confluent.io/current/connect/quickstart.html
簡単に言うと、_confluent start
_
注:現在CLIによってロードされているConnectワーカーのプロパティファイルは_
${CONFLUENT_HOME}/etc/schema-registry/connect-avro-distributed.properties
_です。これは、クラスローディング分離を有効にすることを選択した場合だけでなく、接続ワーカーのプロパティを変更する必要がある場合にも編集する必要があるファイルです。
Connectワーカーを実行したら、次のコマンドを実行してコネクタを起動します。
_confluent load <connector_name> -d <connector_config.properties>
_
または
_confluent load <connector_name> -d <connector_config.json>
_
コネクタ構成は、JavaプロパティまたはJSON形式のいずれかです。
_confluent log connect
_を実行してConnectワーカーのログファイルを開くか、実行してログとデータが保存されている場所に直接移動します
cd "$( confluent current )"
注:環境変数_
CONFLUENT_CURRENT
_を適切に設定して、Confluent CLIのセッション中にログとデータが保存される場所を変更します。例えば。 _/opt/confluent
_が存在し、データを保存する場所である場合、次を実行します。_
export CONFLUENT_CURRENT=/opt/confluent
_
_confluent current
_
最後に、コネクタをインタラクティブにデバッグするには、Connect with Confluent CLIを開始する前に次の方法を適用する方法があります。
_confluent stop connect
_
_export CONNECT_DEBUG=y; export DEBUG_SUSPEND_FLAG=y;
_
_confluent start connect
_
デバッガーに接続します(たとえば、リモートでConnectワーカーに接続します(デフォルトポート:5005)。デバッグモードでの接続の実行を停止するには、次のコマンドを実行します:_unset CONNECT_DEBUG; unset DEBUG_SUSPEND_FLAG;
_完了したら。
上記があなたのコネクタ開発をより簡単にし、そして...もっと楽しくなることを願っています!
コネクタモジュールはkafkaコネクタフレームワークによって実行されます。デバッグにはスタンドアロンモードを使用できます。IDEを構成して、ConnectStandaloneメイン関数をエントリとして使用できますポイント。
私は受け入れられた答えが大好きです。 1つのこと-環境変数が機能しませんでした... Confluent Community Edition 5.3.1を使用しています...
ここで私がやったことはうまくいきました...
私はここから合流CLIをインストールしました: https://docs.confluent.io/current/cli/installing.html#tarball-installation
コマンドconfluent local start
を使用してコンフルエントになりました
コマンドps -ef | grep connect
を使用して接続アプリの詳細を取得しました
結果のコマンドをエディターにコピーして、引数を追加しました(Javaの直後):
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
次に、コマンドconfluent local stop connect
を使用して接続を停止しました
次に、引数を指定して接続コマンドを実行しました
短い休憩---
vsコードの開発は、Eclipseを書いた
gang of four
名声のerich gammaが主導しています。 vsコードは最初のクラスになりますJava ide see https://en.wikipedia.org/wiki/Erich_Gamma
休憩---
次に、vsコードを起動し、debezium Oracleコネクタフォルダーを開きます(ここから複製) https://github.com/debezium/debezium-incubator
それから私はDebug - Open Configurations
を選びました
強調表示されたデバッグ構成を入力しました
そしてデバッガーを実行します-それはあなたのブレークポイントにヒットします!!
接続コマンドは次のようになります。
/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/bin/Java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -Xms256M -Xmx2G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true -Dcom.Sun.management.jmxremote -Dcom.Sun.management.jmxremote.authenticate=false -Dcom.Sun.management.jmxremote.ssl=false -Dkafka.logs.dir=/var/folders/yn/4k6t1qzn5kg3zwgbnf9qq_v40000gn/T/confluent.CYZjfRLm/connect/logs -Dlog4j.configuration=file:/Users/myuserid/confluent-5.3.1/bin/../etc/kafka/connect-log4j.properties -cp /Users/myuserid/confluent-5.3.1/share/Java/kafka/*:/Users/myuserid/confluent-5.3.1/share/Java/confluent-common/*:/Users/myuserid/confluent-5.3.1/share/Java/kafka-serde-tools/*:/Users/myuserid/confluent-5.3.1/bin/../share/Java/kafka/*:/Users/myuserid/confluent-5.3.1/bin/../support-metrics-client/build/dependant-libs-2.12.8/*:/Users/myuserid/confluent-5.3.1/bin/../support-metrics-client/build/libs/*:/usr/share/Java/support-metrics-client/* org.Apache.kafka.connect.cli.ConnectDistributed /var/folders/yn/4k6t1qzn5kg3zwgbnf9qq_v40000gn/T/confluent.CYZjfRLm/connect/connect.properties