2016-04-04 45 views
-1

我已经下载了cassandra datastax-ddc-64bit-3.4.0.msi并将它安装到WINDOWS 8 .I运行正常。但是,当我编辑cassandra.yamlDATASTAX Cassandra集群命名在WINDOWS中停止Windows服务8

cluster_name: 'Test Cluster'

cluster_name: 'MyCluster1'

那么服务不会启动。

我检查错误日志C:\Program Files\DataStax-DDC\logs\datastax_ddc_server-stdout.2016-04-04.log

它显示

ERROR 09:08:34 Fatal exception during initialization 
org.apache.cassandra.exceptions.ConfigurationException: Saved cluster name Test Cluster != configured name MYCLUSTER 
    at org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:915) ~[apache-cassandra-3.4.0.jar:3.4.0] 
    at org.apache.cassandra.service.StartupChecks$8.execute(StartupChecks.java:297) ~[apache-cassandra-3.4.0.jar:3.4.0] 
    at org.apache.cassandra.service.StartupChecks.verify(StartupChecks.java:106) ~[apache-cassandra-3.4.0.jar:3.4.0] 
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:169) [apache-cassandra-3.4.0.jar:3.4.0] 
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:551) [apache-cassandra-3.4.0.jar:3.4.0] 
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:680) [apache-cassandra-3.4.0.jar:3.4.0] 

什么是我的群集名称的问题???我错过了什么? Log目录中为什么有3个日志文件?

回答

2

原因是,保存的集群名称值不等于所配置的集群名称。也就是说,一旦您第一次启动cassandra,它将从yaml配置文件中获取群集名称,并将群集名称保存在列族local中,其可用于system keyspace。因此,如果您尝试第二次再次重新启动它,它将尝试从保存的数据(system.local)中检索群集名称,并将其与yaml配置进行比较。因此,对于您的情况,您首次创建了名为Test Cluster的群集,因此cassandra预计每个启动过程的群集名称为Test Cluster。如果你想改变集群名称,那么这个link更清楚地解释了这一步。您可以通过以下CQL查询检索已保存的群集名称,

select * from system.local; 
+0

有我面对这另一个问题是我的**卡桑德拉CQL壳牌**无法启动?为什么? –

+0

尝试执行CQL shell时遇到什么错误? –

+0

DevCenter.exe显示连接正常 –

0

尝试后,发现答案就link

空在/ var/lib中/卡桑德拉/数据,在/ var/lib中/ cassandra/commitlog ,/ var/lib/cassandra/saved_caches目录,并在 更改群集名称后重新启动Casandra。这在1.2.4版本中运行良好,请使用您的版本尝试 。

推荐使用的稳定版本的包络产品,如果不 上面使用1.2.5或1.2.4代替完成。