Hadoop log4j 找不到 KafkaLog4JAppender.class

问题描述 投票:0回答:2

我将 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

找到班级

我有点迷失了,希望得到任何有用的意见

提前致谢!

java hadoop logging log4j apache-kafka
2个回答
0
投票

如果在本地模式下工作,而在Yarn/分布式模式下不工作,那么可能是jar没有正确分发的问题。您可能需要检查 在 MapReduce 应用程序中使用第三方 jar 和文件(分布式缓存),了解有关如何分发包含 KafkaLog4jAppender.class 的 jar 的详细信息


0
投票

您为此找到了解决方案吗? 我面临着完全相同的问题。

© www.soinside.com 2019 - 2024. All rights reserved.