2016-04-22 11 views
0

log4jカフカアペンダーを使用して、log4jを使用するアプリケーションからApache Kafkaにログメッセージを送信できることを理解します。例えば、Log4jアペンダー認証

log4j.appender.KAFKA_HIVE_AUDIT=kafka.producer.KafkaLog4jAppender 
log4j.appender.KAFKA_HIVE_AUDIT.BrokerList=sandbox.hortonworks.com:6667 
log4j.appender.KAFKA_HIVE_AUDIT.Topic=hive_audit_log 
log4j.appender.KAFKA_HIVE_AUDIT.layout=org.apache.log4j.PatternLayout 
log4j.appender.KAFKA_HIVE_AUDIT.layout.ConversionPattern=%d{ISO8601} %-5p [%t]: %c{2} (%F:%M(%L)) - %m%n 

。これは、ここで説明されていますhow to use Kafka 0.8 Log4j appender

私は有効にKerberosを持っているカフカ0.9を実行していますよ。 log4jアペンダーがKafkaに認証を実行させる方法はありますか?何らかのサービスアカウントですか?

log4jアペンダーを実行する前に、kerberosを介してKafkaクラスターに認証するためにJavaプログラムが実行されているマシンのための方法はありますか?

これでうまくいかない場合は、kerkaのkerka上の認証されていないプロデューサにマシンによって書き込み権限を与える方法がありますか? (消費者にはケルベロス認証が必要です)

答えて

0

あなたはカフカ0.9sourceを見れば、あなたはそれが一般的にカフカの生産者と消費者のために追加されたという事実にもかかわらず、Kerberos認証がKafkaLog4jAppenderによってサポートされていないことがわかります。

Kerberosサポートは、バージョン0.10のKafkaLog4jAppenderにのみ追加されました。

コードをすばやく見れば、KafkaLog4jAppenderを拡張してKerberosサポートに必要なビットを追加するカスタムアペンダーを作成するのが簡単なようです。

-1

Kafkaはオープンソースですコードをチェックして、Kerberosに関連するプロパティとその使用方法を確認してください。

あなたはJAAS設定ファイルを添付し、カフカのクライアントは、標準のJavaセキュリティライブラリを使用できるように、そのファイルで使用する「文脈」を指定する必要があります「トランク」すなわちhttps://github.com/apache/kafka/blob/trunk/log4j-appender/src/main/java/org/apache/kafka/log4jappender/KafkaLog4jAppender.javaヒントで簡単に見。また、カスタムのKerberos設定ファイルが標準の場所にない場合(つまり、/etc/krb5.conf)、オプションで設定できます。

最終的に、JAASを理解し、設定するKafkaおよび/またはLog4Jのプロパティを調べることです。

Googleを使用すると、チュートリアルはいつでも数回クリックすることができます。そのkerberized_kafka投稿。

+0

質問は特にこの回答が間違っているKafka 0.9を指しているので、投票を停止してください。 –

+0

あなたに何か喜びがあるなら、あなたは大歓迎です。しかし、私はあなたの "gittilly正しい"答えは、とにかくフィードバックを得るかどうかわからない... –

関連する問題