我在启动Cassandra时遇到了问题。当我尝试发出启动命令时,以下是我的终端输出:
root @ gestion:〜#cassandra -f
线程“main”中的异常 java.lang.ExceptionInInitializerError由以下原因引起: java.lang.RuntimeException:无法找出log4j配置。 在 org.apache.cassandra.service.AbstractCassandraDaemon。(AbstractCassandraDaemon.java:75) 无法找到主类: org.apache.cassandra.thrift.CassandraDaemon。
程序将退出。
我导出了JAVA_HOME路径。我在10.04 Lucid机器上。有人可以帮帮我吗?
答案 0 :(得分:4)
实际上问题是cassandra无法启动,因为它没有在其配置目录中找到名为“log4j-server.properties”的文件,以解决您在那里遇到的问题,无需再次重新安装,而只是简单地重新安装执行以下操作以解决此问题:
1)从here下载tarball文件。
2)提取它:
$ tar -xzvf apache-cassandra-1.2.5.tar.bin.gz
3)检查cassandra的配置路径在哪里。你可以从名为“/usr/share/cassandra/cassandra.in.sh”的文件中获取配置路径,查看名为“CASSANDRA_CONF”的密钥。
$ gedit /usr/share/cassandra/cassandra.in.sh
4)从名为“conf”
的目录中手动从提取的包中复制丢失的文件(步骤2)$ sudo cp extracted_cassandra/conf/cassandra.yaml /etc/cassandra
$ sudo cp extracted_cassandra/conf/log4j-server.properties /etc/cassandra
提示:
了解更多信息。如何安装cassandra debian包,查看this 有关更多信息。如何从他们的存储库安装cassandra,检查this
如果您想重新安装它,只需执行以下操作:
$ sudo apt-get remove cassandra
$ sudo apt-get install cassandra
答案 1 :(得分:2)
我认为错误发生在$ CASSANDRA_HOME / conf / log4j-server.properties文件中。也许你已经定义了一个不存在的appender(log4j.appender.R)
答案 2 :(得分:2)
有关log4j初始化的一些讨论,请参阅https://issues.apache.org/jira/browse/CASSANDRA-2383。
“无法弄清楚log4j配置”意味着Cassandra无法将-Dlog4j.configuration属性转换为有效的log4j配置文件名。这并不意味着log4j配置文件本身存在错误。