2011-07-04 5 views
2

카산드라를 시작하는 데 문제가 있습니다. 추적 제가 시작 명령을 실행하려고 할 때 내 터미널 출력 :카산드라 시작 문제

루트 @의, 관리 : 자바 : ~ #의 카산드라 스레드에서
예외 -f "주" java.lang.ExceptionInInitializerError가에 의해 발생. lang.RuntimeException : log4j 구성을 알아낼 수 없습니다. at org.apache.cassandra.service.AbstractCassandraDaemon (AbstractCassandraDaemon.java:75) 주 클래스를 찾을 수 없습니다 : org.apache.cassandra.thrift.CassandraDaemon.
프로그램이 종료됩니다.

JAVA_HOME 경로를 내 보냈습니다. 나는 10.04 루시드 머신에있다. 아무도 나를 도울 수 있습니까?

+1

: //wiki.apache.org/cassandra/GettingStarted, 왜냐하면 그것을 제거하고 "bin/cassandra -f"를 실행할 때마다 작동하기 때문입니다. – jbellis

답변

2

오류는 $ CASSANDRA_HOME/conf/log4j-server.properties 파일에 있다고 생각합니다. 아마도 존재하지 않는 appender를 정의했을 수도 있습니다 (log4j.appender.R)

+0

여기에서 자바 코드를 볼 수 있습니다. http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cassandra/cassandra-all/0.7.4/org/apache/cassandra/ service/AbstractCassandraDaemon.java. 권한 문제로 인해 파일에 액세스 할 수 없습니다. – strauberry

2

log4j 초기화에 대한 설명은 https://issues.apache.org/jira/browse/CASSANDRA-2383을 참조하십시오.

"log4j 구성을 파악할 수 없습니다"는 의미에서 Cassandra가 -Dlog4j.configuration 속성을 유효한 log4j 구성 파일 이름으로 변환 할 수 없음을 의미합니다. log4j 설정 파일 자체에 오류가 있음을 의미하지는 않습니다.

4

실제로 문제는 거기에 문제가 발생했을 때 문제를 해결하기 위해 "log4j-server.properties"라는 파일을 찾지 못하여 시작할 수 없다는 것입니다. 다시 설치하지 않아도됩니다. 이 문제를 해결하려면 다음을 수행하십시오.

1) here에서 tarball 파일을 다운로드하십시오.

2)을 추출 : 산드의 구성 경로이고

$ tar -xzvf apache-cassandra-1.2.5.tar.bin.gz 

3)을 확인한다. 당신은 "/usr/share/cassandra/cassandra.in.sh"라는 파일에서 config 경로를 얻을 수 있고, "CASSANDRA_CONF"라는 이름의 키를 체크 아웃 할 수 있습니다. 더 많은 정보를 들어

:

$ gedit /usr/share/cassandra/cassandra.in.sh 

4) 추출 된 패키지에서 수동 (라는 이름의 디렉토리에서 2 단계) "conf의"

$ sudo cp extracted_cassandra/conf/cassandra.yaml /etc/cassandra 

$ sudo cp extracted_cassandra/conf/log4j-server.properties /etc/cassandra 

힌트 누락 된 파일을 복사합니다. cassandra debian 패키지를 설치하는 법을 확인 하시려면 this 을 확인하십시오. 자신의 저장소에서 카산드라를 설치 당신이 그것을 다시 설치하려는 경우 this

을 확인하는 방법, 단순히 당신이 할 수있는 다음

$ sudo apt-get remove cassandra 

$ sudo apt-get install cassandra 
당신은 당신이 HTTP의 단계에서 차이가 얼마나 정확히 설명해야