2011-03-13 4 views
1

나는 카산드라를 설치했고 두 대의 기계에서 작동하도록했습니다. 필자는 storage-conf.xml 파일을 구성하여 지침을 따라 서로 연결합니다.Cassandra 0.7.3에서 storage-conf를로드하는 방법은 무엇입니까?

두 기계 모두 저주 및 커맨드 라인 카산드라에 잘 응답합니다.

이것은 tutorial I used to setup the storage-conf.xml files입니다.

튜토리얼에 따르면 netstat를 실행하면 Cassandra가 시드 노드에서 127.0.0.1에 바인딩 된 것을 볼 수 없습니다. storage-conf.xml 파일에서 구성한 내부 IP에 바인드 된 것을 확인해야합니다.

서버를 재부팅하고 cassandra를 실행했습니다. 그래도 올바른 내부 IP 주소와 국지 호스트 주소가 함께 표시됩니다.

내 .yaml 파일이 storage-conf.xml 파일을 대체하고 있습니까? 그렇다면 .yaml에서 적절한 것을 삭제하는 방법은 무엇입니까? 또는 Cassandra에게 내 storage-conf.xml 파일을 찾도록 지시하려면 어떻게해야합니까?

내가 시도한 몇 가지 사항은 cassandra.yaml 파일의 이름을 바꾸는 것입니다. 카산드라가 적재되지 않습니다. storage-conf.xml의 이름을 바꾸면 cassandra가로드됩니다.

Cassandra를 설치하면 storage-conf.xml 파일이 제공되지 않습니다. 나는 아파치 wiki에서 그것을 잡아야했다.

답변

1

xml은 최신 cassandra 버전에서는 사용되지 않습니다. yaml은 진실의 원천이며 변환기는 업그레이드하는 사람들을위한 한 번만의 의도입니다.

1

나는 그것을 알아 냈다. Cassandra는 storage-conf.xml을로드하지 않고 cassandra.yaml을로드했습니다.

bin/cassandra -f를 실행했을 때 실제로는 첫 줄 중 하나라는 것을 알았습니다.

나는 빈/설정 - 변환기 도구를 사용하고 변환기 도구의 출력과 cassandra.yaml를 대체하여 문제를 해결 :

cd [path to cassandra]/conf 
mv cassandra.yaml __old_cassandra.yaml 
../bin/config-converter storage-conf.xml cassandra.yaml 

내가 다음 카산드라가 시작되지 것을 발견했다.

ERROR 05:58:03,117 Fatal exception during initialization 
org.apache.cassandra.config.ConfigurationException: Saved cluster name Test Cluster != configured name 

내가 그 카산드라했다 시스템 데이터 저장 폴더로 이동하여이었다 해결 방법 : :이 오류받은 cd /var/lib/cassandra/data/system/ 을 다음 내용 rm -f *.*

삭제를, 카산드라는 좋은 시작 . 나는 두 번째 노드에서 단계를 반복했다. 그것은 효과가 있었다.

명령 bin/nodetool -h localhost ring

내가 두 노드 및 실행을 가지고 있음을 알 수있다. 성공.

지금 내 유일한 질문은 storage-conf.xml을 수정할 때 yaml에 다시 복사해야합니까? 아니면 Cassandra가 내 변경 사항을 자동으로로드합니까?

관련 문제