我在我的MR工作中添加了KafkaLog4JAppender功能。 本地作业正在运行,并将格式化的日志发送到我的Kafka集群。
当我尝试从纱线服务器运行它时,使用:
jar [jar-name].jar [DriverClass].class [job-params] -Dlog4j.configuration=log4j.xml -libjars
我得到以下表示:
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 :(得分:0)
如果它在本地模式下工作而不能在Yarn / distributed模式下工作,则可能是jar无法正确分发的问题。您可能想查看Using third part jars and files in your MapReduce application(Distributed cache)以获取有关如何分发包含KafkaLog4jAppender.class的jar的详细信息