Cassandra群集名称不匹配

问题描述

| 我正在尝试将一个节点添加到名为Clustera的现有群集中。 在引导该节点之前,它正在运行具有旧版本0.7.4的名为“ Test”的单节点cassandra群集。 Clustera正在运行0.7.5,并且我还升级了要添加到0.7.5的节点。我正确配置了yaml,但是当我运行Cassandra时,收到以下内容垃圾邮件
INFO 20:04:24,262 Logging initialized
 INFO 20:04:24,275 Heap size: 5156896768/5156896768
 INFO 20:04:24,276 JNA not found. Native methods will be disabled.
 INFO 20:04:24,284 Loading settings from file:/usr/local/bin/apache-cassandra-0.7.5/conf/cassandra.yaml
 INFO 20:04:24,380 diskAccessMode \'auto\' determined to be mmap,indexAccessMode is mmap
 INFO 20:04:24,511 Creating new commitlog segment /var/lib/cassandra/commitlog/CommitLog-1306267464511.log
 INFO 20:04:24,525 Couldn\'t detect any schema deFinitions in local storage.
 INFO 20:04:24,525 Found table data in data directories. Consider using JMX to call org.apache.cassandra.service.StorageService.loadSchemaFromYaml().
 INFO 20:04:24,535 No commitlog files found; skipping replay
 INFO 20:04:24,553 Upgrading to 0.7. Purging hints if there are any. Old hints will be snapshotted.
 INFO 20:04:24,556 Cassandra version: 0.7.5
 INFO 20:04:24,556 Thrift API version: 19.4.0
 INFO 20:04:24,556 Loading persisted ring state
 INFO 20:04:24,558 Starting up server gossip
 INFO 20:04:24,588 Enqueuing flush of Memtable-LocationInfo@1048095360(233 bytes,4 operations)
 INFO 20:04:24,589 Writing Memtable-LocationInfo@1048095360(233 bytes,794 Completed flushing /var/lib/cassandra/data/system/LocationInfo-f-1-Data.db (341 bytes)
 INFO 20:04:24,822 Joining: getting load information
 INFO 20:04:24,823 Sleeping 90000 ms to wait for load information...
 WARN 20:04:24,885 ClusterName mismatch from /10.44.2.58 Test !=Clustera
 WARN 20:04:24,886 ClusterName mismatch from /10.44.2.58 Test !=Clustera
 WARN 20:04:24,887 ClusterName mismatch from /10.44.2.58 Test !=Clustera
该IP在新Yaml中不存在。这是我一段时间前尝试实现的旧配置,但我根本没有尝试与此IP进行集群。 我尝试删除所有存储,数据库文件和旧配置,但是它仍然以某种方式检测到旧种子IP。 我发现当我确认数据目录为空时将其记录下来,这很奇怪。 在数据目录中找到表数据... 谁能告诉我在启动过程中仍然会发生这种情况吗?我需要更改/删除/删除该IP的哪些内容? 谢谢。     

解决方法

请参阅http://wiki.apache.org/cassandra/FAQ#clustername_mismatch,其中显示:   为防止操作员错误,Cassandra   将群集名称存储在其   系统表。如果您需要重命名   出于某种原因群集,这是安全的   之后删除系统/ LocationInfo *   强迫所有   ColumnFamilies(具有旧群集   名称)(如果您已指定节点的   配置文件中的令牌,或者   不在乎保留节点的   令牌(例如在单个节点中   集群。)\“     ,尝试使用cassandra节点工具禁用此(不需要的)节点的八卦。 转到cassandra / bin目录 说出“ nodetool -h ip_creating_issue disablegossip \” 尝试使用nodetool的其他选项,例如\“ decommission \” 禁用八卦对我来说很好。