環境
- Debian 8
- Cassandra 2.2x
やりたかったこと
/etc/cassandra/cassandra.yaml
# The name of the cluster. This is mainly used to prevent machines in
# one logical cluster from joining another.
#cluster_name: 'Test Cluster'
cluster_name: 'Gandarla Cluster'
としたかっただけ。
一度、Test Clusterで起動されていたので、単純に名前を変えただけではうまくいかなかった。
こんなエラーが出る。。
/var/log/cassandra/debug.log
ERROR [main] 2016-08-02 08:57:09,272 CassandraDaemon.java:698 - Fatal exception during initialization
org.apache.cassandra.exceptions.ConfigurationException: Saved cluster name Test Cluster != configured name Gandarla Cluster
at org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:913) ~[apache-cassandra-3.0.8.jar:3.0.8]
at org.apache.cassandra.service.StartupChecks$8.execute(StartupChecks.java:304) ~[apache-cassandra-3.0.8.jar:3.0.8]
at org.apache.cassandra.service.StartupChecks.verify(StartupChecks.java:107) ~[apache-cassandra-3.0.8.jar:3.0.8]
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:171) [apache-cassandra-3.0.8.jar:3.0.8]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:557) [apache-cassandra-3.0.8.jar:3.0.8]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:685) [apache-cassandra-3.0.8.jar:3.0.8]
やったこと
command
# cqlsh
cqlsh内
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.0.8 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.
cqlsh> UPDATE system.local SET cluster_name = 'Gandarla Cluster' where key = 'local';
cqlsh> exit
command
# nodetool flush
# service cassandra stop
# rm -rf /var/lib/cassandra/data/system/*
# vi /etc/cassandra/cassandra.yaml
やりたかったことの内容に書き換える。
command
# service cassandra start
しばらくして、立ち上がったことを確認してから、
command
# cqlsh
cqlsh内
Connected to Gandarla Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.0.8 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.
cqlsh>
となっていれば終わり。
備忘録
- デバッグログの場所
- /var/log/cassandra/debug.log
- 参考にしたページ