system.local 테이블에서 이름을 업데이트하여 데이터를 삭제하지 않고 클러스터 이름을 바꿀 수 있습니다 (하지만 각 노드에 대해이 작업을 수행해야 합니다 ...).
cqlsh> UPDATE system.local SET cluster_name = 'test' where key='local';
# flush the sstables to persist the update.
bash $ ./nodetool flush
마지막으로 클러스터의 이름을 cassandra.yaml의 새 이름으로 변경해야합니다 ( 각 노드에서 다시 )
-------------------위의 명령 UPDATE SET cluster_name
은 나를 위해 작동하지 않습니다. 작업은 다중 노드 클러스터 초기화 에 대한 DataStax 설명서 의 지침을 따르는 것입니다 .
sudo service cassandra stop
sudo rm -rf /var/lib/cassandra/data/system/*
sudo vi /etc/cassandra/cassandra.yaml, setup the proper parameters
sudo service cassandra start
nodetool status
좋은 클러스터 노드 설정을 위해이 블로그 게시물 이 매우 유용하다는 것을 알았 습니다 .
-------------------Datastax4.7 엔터프라이즈 에디션에서 동일한 문제가 발생했습니다. 위의 지침으로 해결했습니다.
클러스터 이름을 다시 "test Cluster"로 변경합니다.
클러스터를 시작하십시오.
cqlsh> UPDATE system.local SET cluster_name = 'Cassendra Cluster' where key='local';
cqlsh> exit;
$ nodetool flush system
클러스터를 중지하십시오.
$sudo service dse stop;sudo service datastax-agent stop
파일 편집 :
$ sudo vi /etc/dse/cassandra/cassandra.yaml
cluster_name: 'Cassendra Cluster'
클러스터를 시작하십시오.
$sudo service dse start;sudo service datastax-agent start
설치 로그 확인 :
$ cat /var/log/cassandra/output.log
-------------------Cassandra 3.0.5의 경우 Lyuben Todorov 의 답변에 지 쳤지 만 핵심 부분이 누락되었습니다.
bash $ ./nodetool flush
해야한다:
bash $ ./nodetool flush system
여기 에서와 같이
-------------------Cassandra 3.7의 ./nodetool flush
경우 ./nodetool flush system
. 그렇지 않으면 작동하지 않습니다.
Bitnami 인증 Cassandra-3.11.5 용
나를 위해 일한 솔루션은 다음과 같습니다.
- Cassandra 서비스 중지
sudo /opt/bitnami/ctlscript.sh stop cassandra
- 시스템 데이터 제거
sudo rm -rf /opt/bitnami/cassandra/data/data/system/*
- Cassandra 서비스 시작
sudo /opt/bitnami/ctlscript.sh start cassandra
-------------------경우 cassandra
실행하지 않는, 당신은 데이터 폴더를 닦아 수 있습니다.
rm -rf /usr/lib/cassandra/data/*
이렇게하면 잘못된 클러스터 이름이있는 시스템 테이블이 지워집니다. \ cassandra
올바른 클러스터 이름으로 다시 시작하면 cassandra.yaml
모든 것이 다시 생성되고 잘 될 것입니다.
출처
https://stackoverflow.com/questions/22006887