2016-12-28 25 views
1

EMRでspark 2.0のjsonとしてログを書き込もうとしています。 私はカスタムlog4j.propertiesファイルを使用することができました。カスタムlog4jクラスがspark 2.0で動作しないEMR

しかし、私は、カスタムクラス(net.logstash.log4j.JSONEventLayoutV1)とJSONに出力を変更しようとしたとき、私は次の例外を取得:ここ

log4j:ERROR Could not instantiate class [net.logstash.log4j.JSONEventLayoutV1]. 
java.lang.ClassNotFoundException: net.logstash.log4j.JSONEventLayoutV1 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at org.apache.log4j.helpers.Loader.loadClass(Loader.java:198) 
    at org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:327) 
    at org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:124) 
    at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:797) 
    at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:768) 
    at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:648) 
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:514) 
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:580) 
    at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526) 
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:127) 
    at org.apache.spark.internal.Logging$class.initializeLogging(Logging.scala:117) 
    at org.apache.spark.internal.Logging$class.initializeLogIfNecessary(Logging.scala:102) 
    at org.apache.spark.executor.CoarseGrainedExecutorBackend$.initializeLogIfNecessary(CoarseGrainedExecutorBackend.scala:161) 
    at org.apache.spark.internal.Logging$class.log(Logging.scala:46) 
    at org.apache.spark.executor.CoarseGrainedExecutorBackend$.log(CoarseGrainedExecutorBackend.scala:161) 
    at org.apache.spark.executor.CoarseGrainedExecutorBackend$.run(CoarseGrainedExecutorBackend.scala:172) 
    at org.apache.spark.executor.CoarseGrainedExecutorBackend$.main(CoarseGrainedExecutorBackend.scala:270) 
    at org.apache.spark.executor.CoarseGrainedExecutorBackend.main(CoarseGrainedExecutorBackend.scala) 

はlog4j.propertiesが、どのように見えるかです:

log4j.rootCategory=INFO, json 

log4j.appender.json=org.apache.log4j.ConsoleAppender 
log4j.appender.json.target=System.err 
log4j.appender.json.layout=net.logstash.log4j.JSONEventLayoutV1 

アーチファクト「jsoneventレイアウト」、脂肪ジャー中で組み立てました。

誰もがこの問題を解決する手掛かりを持っていますか?

おかげで、最終的に

答えて

1

エラン、これは私の仕事:

log4j.rootCategory=INFO, json 

log4j.appender.json=org.apache.log4j.ConsoleAppender 
log4j.appender.json.target=System.err 
log4j.appender.json.layout=org.apache.hadoop.log.Log4Json 
関連する問題