2016-04-18 8 views
0

私のMRジョブにKafkaLog4JAppender機能を追加しました。 ローカルにジョブが実行され、フォーマットされたログがカフカクラスタに送信されます。Hadoop log4jがKafkaLog4JAppender.classを見つけることができません

私は糸サーバからそれを実行しようと、使用して:

jar [jar-name].jar [DriverClass].class [job-params] -Dlog4j.configuration=log4j.xml -libjars 

を私は次のexpceptionを得る:

log4j:ERROR Could not create an Appender. Reported error follows. 
java.lang.ClassNotFoundException: kafka.producer.KafkaLog4jAppender 

KafkaLog4JAppenderクラスがパスです。

jar tvf [my-jar].jar | grep KafkaLog4J 

を実行すると、クラスに

を見つけた私は、事前に

おかげでちょっと迷ってしまいましたし、任意の参考になった入力をお願い申し上げます!

答えて

0

ローカルモードで動作し、糸/分散モードで動作しない場合、正しく配布されていないjarの問題になる可能性があります。あなたはKafkaLog4jAppender.classを含むjarを配布する方法の詳細についてUsing third part jars and files in your MapReduce application(Distributed cache)をチェックしたいかもしれません。

+0

私は実際に両方のオプションを試してみましたが、うまくいきませんでした。私は、ハープのクラスパスが何とかこれをオーバーライドしていると思う –

関連する問題