我将 KafkaLog4JAppender 功能添加到我的 MR 作业中。 作业正在本地运行并将格式化日志发送到我的 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
找到班级
我有点迷失了,希望得到任何有用的意见
提前致谢!
如果在本地模式下工作,而在Yarn/分布式模式下不工作,那么可能是jar没有正确分发的问题。您可能需要检查 在 MapReduce 应用程序中使用第三方 jar 和文件(分布式缓存),了解有关如何分发包含 KafkaLog4jAppender.class 的 jar 的详细信息
您为此找到了解决方案吗? 我面临着完全相同的问题。