2

我正在尝试将单个节点添加到已存在的名为 ClusterA 的集群中。在引导该节点之前,它正在运行一个名为“Test”的单节点 cassandra 集群,版本为 0.7.4。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, 4 operations)
 INFO 20:04:24,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,886 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 消失?

谢谢。

4

2 回答 2

1

请参阅http://wiki.apache.org/cassandra/FAQ#clustername_mismatch,其中说:

“为了防止操作员错误,Cassandra 将集群的名称存储在其系统表中。如果您出于某种原因需要重命名集群,在对所有 ColumnFamilies 强制压缩后删除 system/LocationInfo* 是安全的(使用旧集群)名称)如果您在配置文件中指定了节点的令牌,或者您不关心保留节点的令牌(例如在单节点集群中。)“

于 2011-05-24T21:22:18.947 回答
0

尝试使用 cassandra nodetool 禁用对此(不需要的)节点的八卦。

  1. 转到 cassandra/bin 目录
  2. 说“nodetool -h ip_creating_issue disablegossip”

尝试使用 nodetool 的其他选项,例如“decommission”

禁用八卦对我来说效果很好。

于 2011-08-23T11:38:02.907 回答