2

我在启动 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 机器上。谁能帮帮我吗?

4

3 回答 3

4

实际上问题是cassandra无法启动,因为它在其配置目录中找不到名为“log4j-server.properties”的文件,要解决您在那里遇到的问题,无需重新安装,只需执行以下操作解决问题:

1) 从这里下载 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 软件包,请查看 了解更多信息。如何从他们的存储库安装 cassandra,检查这个

如果要重新安装它,只需执行以下操作:

$ sudo apt-get remove cassandra 

$ sudo apt-get install cassandra
于 2013-06-20T19:26:50.143 回答
2

有关 log4j 初始化的一些讨论,请参阅https://issues.apache.org/jira/browse/CASSANDRA-2383

“无法弄清楚 log4j 配置”意味着 Cassandra 无法将您的 -Dlog4j.configuration 属性转换为有效的 log4j 配置文件名。这并不意味着 log4j 配置文件本身存在错误。

于 2011-07-04T23:09:21.213 回答
2

我认为错误在 $CASSANDRA_HOME/conf/log4j-server.properties 文件中。也许您定义了一个不存在的附加程序(log4j.appender.R)

于 2011-07-04T16:46:47.477 回答