当我收到此错误时,我应该如何设置新的Cassandra节点?
INFO [SSTableBatchOpen:1] 2014-02-25 01:51:17,132 SSTableReader.java (line 223) Opening /var/lib/cassandra/data/system/local/system-local-jb-5 (5725 bytes)
ERROR [main] 2014-02-25 01:51:17,377 CassandraDaemon.java (line 237) Fatal exception during initialization
org.apache.cassandra.exceptions.ConfigurationException: Saved cluster name Test Cluster != configured name thisisstupid
at org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:542)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:233)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:462)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:552)
Run Code Online (Sandbox Code Playgroud)
cassandra.yaml文件中的集群名称是:
cluster_name: 'thisisstupid'
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
Lyu*_*rov 55
您可以通过在system.local表中更新它的名称来重命名群集而不删除数据(但是您必须为每个节点执行此操作...)
cqlsh> UPDATE system.local SET cluster_name = 'test' where key='local';
# flush the sstables to persist the update.
bash $ ./nodetool flush
Run Code Online (Sandbox Code Playgroud)
最后,您需要将群集重命名为cassandra.yaml中的新名称(在每个节点上再次)
Rya*_*n X 18
以上命令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
Run Code Online (Sandbox Code Playgroud)
对于一些好的集群节点设置,我发现这篇博文非常有用.
小智 15
我对Datastax4.7企业版有同样的问题.我用以上说明解决了这个问题:
将群集名称更改回"test Cluster"
启动集群:
cqlsh> UPDATE system.local SET cluster_name = 'Cassendra Cluster' where key='local';
cqlsh> exit;
$ nodetool flush system
Run Code Online (Sandbox Code Playgroud)
停止群集:
$sudo service dse stop;sudo service datastax-agent stop
Run Code Online (Sandbox Code Playgroud)
编辑文件:
$ sudo vi /etc/dse/cassandra/cassandra.yaml
cluster_name: 'Cassendra Cluster'
Run Code Online (Sandbox Code Playgroud)
启动集群:
$sudo service dse start;sudo service datastax-agent start
Run Code Online (Sandbox Code Playgroud)
检查安装日志:
$ cat /var/log/cassandra/output.log
Run Code Online (Sandbox Code Playgroud)
对于Cassandra 3.0.5,我厌倦了Lyuben Todorov的答案,但它缺少一个关键部分:
bash $ ./nodetool flush
Run Code Online (Sandbox Code Playgroud)
应该:
bash $ ./nodetool flush system
Run Code Online (Sandbox Code Playgroud)
就像在这里一样
| 归档时间: |
|
| 查看次数: |
32703 次 |
| 最近记录: |