log4j - 警告找不到记录器的附加程序(org.apache.accumulo.start.classloader.AccumuloClassLoader)

标签 log4j accumulo

有谁知道如何在启动accumulo时消除以下警告:

log4j:WARN No appenders could be found for logger (org.apache.accumulo.start.classloader.AccumuloClassLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

我正在运行accumulo 1.4.0 hadoop 0.20.2和zookeeper 3.3.3。我知道发生此警告是因为该类找不到 log4j.properties 文件,是的,我已阅读 http://logging.apache.org/log4j/1.2/manual.html 。我的 log4j.properties 文件包含从 Accumulo 1.4.3 log4j 文件复制的以下行(我没有将系统升级到 1.4.3 的选项):

# default logging properties:
#  by default, log everything at INFO or higher to the console
log4j.rootLogger=INFO,A1


# hide Jetty junk
log4j.logger.org.mortbay.log=WARN,A1

# hide "Got brand-new compresssor" messages
log4j.logger.org.apache.hadoop.io.compress=WARN,A1

# hide junk from TestRandomDeletes
log4j.logger.org.apache.accumulo.server.test.TestRandomDeletes=WARN,A1

# hide almost everything from zookeeper
log4j.logger.org.apache.zookeeper=ERROR,A1

# hide AUDIT messages in the shell, alternatively you could send them to a different logger
log4j.logger.org.apache.accumulo.core.util.shell.Shell.audit=WARN,A1

# Send most things to the console
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout.ConversionPattern=%d{ISO8601} [%-8c{2}] %-5p: %m%n
log4j.appender.A1.layout=org.apache.log4j.PatternLayout

我已经把这个log4j文件放给大家了。在accumulo/bin文件夹中,在accumulo/conf文件夹中,在accumulo/lib文件夹中,但无法摆脱此警告(我知道它必须位于accumulo类路径上,但不知道它在哪里)。我也无法将 log4j.configuration 选项传递给 java 编译器,因为 accmulo 可执行文件是预编译的(我只是运行它)。

预先感谢您的帮助。

编辑:下面是我的系统上“accumulo classpath”命令的结果:

[admin-cloud@NODE1 bin]$ echo $ACCUMULO_HOME
/accumulo/accumulo-1.4.0
[admin-cloud@NODE1 bin]$ accumulo classpath
Accumulo List of classpath items are:
file:/accumulo/accumulo-1.4.0/lib/commons-collections-3.2.jar
file:/accumulo/accumulo-1.4.0/lib/commons-configuration-1.5.jar
file:/accumulo/accumulo-1.4.0/lib/log4j-1.2.16.jar
file:/accumulo/accumulo-1.4.0/lib/libthrift-0.6.1.jar
file:/accumulo/accumulo-1.4.0/lib/commons-jci-core-1.0.jar
file:/accumulo/accumulo-1.4.0/lib/commons-lang-2.4.jar
file:/accumulo/accumulo-1.4.0/lib/commons-logging-api-1.0.4.jar
file:/accumulo/accumulo-1.4.0/lib/accumulo-server-1.4.0.jar
file:/accumulo/accumulo-1.4.0/lib/accumulo-start-1.4.0.jar
file:/accumulo/accumulo-1.4.0/lib/commons-jci-fam-1.0.jar
file:/accumulo/accumulo-1.4.0/lib/jline-0.9.94.jar
file:/accumulo/accumulo-1.4.0/lib/examples-simple-1.4.0.jar
file:/accumulo/accumulo-1.4.0/lib/cloudtrace-1.4.0.jar
file:/accumulo/accumulo-1.4.0/lib/commons-logging-1.0.4.jar
file:/accumulo/accumulo-1.4.0/lib/accumulo-core-1.4.0.jar
file:/accumulo/accumulo-1.4.0/lib/commons-io-1.4.jar
file:/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.jar
file:/hadoop/hadoop-0.20.2/conf/
file:/hadoop/hadoop-0.20.2/hadoop-0.20.2-examples.jar
file:/hadoop/hadoop-0.20.2/hadoop-0.20.2-test.jar
file:/hadoop/hadoop-0.20.2/hadoop-0.20.2-tools.jar
file:/hadoop/hadoop-0.20.2/hadoop-0.20.2-ant.jar
file:/hadoop/hadoop-0.20.2/hadoop-0.20.2-core.jar
file:/hadoop/hadoop-0.20.2/lib/log4j-1.2.15.jar
file:/hadoop/hadoop-0.20.2/lib/jasper-runtime-5.5.12.jar
file:/hadoop/hadoop-0.20.2/lib/slf4j-log4j12-1.4.3.jar
file:/hadoop/hadoop-0.20.2/lib/commons-httpclient-3.0.1.jar
file:/hadoop/hadoop-0.20.2/lib/mockito-all-1.8.0.jar
file:/hadoop/hadoop-0.20.2/lib/jetty-6.1.14.jar
file:/hadoop/hadoop-0.20.2/lib/oro-2.0.8.jar
file:/hadoop/hadoop-0.20.2/lib/servlet-api-2.5-6.1.14.jar
file:/hadoop/hadoop-0.20.2/lib/junit-3.8.1.jar
file:/hadoop/hadoop-0.20.2/lib/commons-logging-api-1.0.4.jar
file:/hadoop/hadoop-0.20.2/lib/commons-codec-1.3.jar
file:/hadoop/hadoop-0.20.2/lib/core-3.1.1.jar
file:/hadoop/hadoop-0.20.2/lib/jets3t-0.6.1.jar
file:/hadoop/hadoop-0.20.2/lib/hsqldb-1.8.0.10.jar
file:/hadoop/hadoop-0.20.2/lib/slf4j-api-1.4.3.jar
file:/hadoop/hadoop-0.20.2/lib/jasper-compiler-5.5.12.jar
file:/hadoop/hadoop-0.20.2/lib/jetty-util-6.1.14.jar
file:/hadoop/hadoop-0.20.2/lib/commons-net-1.4.1.jar
file:/hadoop/hadoop-0.20.2/lib/commons-logging-1.0.4.jar
file:/hadoop/hadoop-0.20.2/lib/commons-cli-1.2.jar
file:/hadoop/hadoop-0.20.2/lib/xmlenc-0.52.jar
file:/hadoop/hadoop-0.20.2/lib/kfs-0.2.2.jar
file:/hadoop/hadoop-0.20.2/lib/commons-el-1.0.jar

最佳答案

Apache Accumulo 1.4.0 中 bin/accumulo 的第 84 行将变量 XML_FILES 设置为 $ACCUMULO_HOME/conf,然后将 XML_FILES 添加到 CLASSPATH 变量,该变量随后传递给 java 命令。

https://svn.apache.org/repos/asf/accumulo/tags/1.4.0/bin/accumulo

听起来您通过 shell 环境或 $ACCUMULO_HOME/conf/accumulo-env.sh 中的 ACCUMULO_HOME 配置错误。

关于log4j - 警告找不到记录器的附加程序(org.apache.accumulo.start.classloader.AccumuloClassLoader),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15820894/

相关文章:

log4j - 在Log4J中,为什么ConversionPattern中的%C使用AsyncAppender打印 '?'(问号)?

grails 分离信息记录

spring - RestTemplate 记录 POST 数据

node.js - 如何通过 Accumulo 代理客户端基于 rowkey 删除 Accumulo 中的记录

scala - 如何在 spark-notebook 中从 Accumulo 1.6 创建 Spark RDD?

java - tomcat、2 个 webapps、2 个 log4js,但两个应用程序都记录到一个文件

四核 CPU 上的 Java (log4j) 死锁。为什么 300% CPU?

hadoop - 如何在 OS X 10.7.4 上安装和运行 Accumulo 和 Hadoop

java - 使用GeoMesa Native API向accumulo中插入数据

hadoop - 累积写入 : Trying to create and insert data from mapreduce