Cassandra1.2文档学习(16)—— 模式的变化

时间:2024-07-25 12:06:02

参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_schema_changes_c.html#concept_ds_rdc_lvr_gk

  在Cassandra1.2及之后,大量的模式变化可以同时发生在一个集群中,而节点之间没有任何模式的分歧。例如,如果一个客户端设置一个列为integer而另一个客户端设置为text,一个或另一个动作会立马生效。哪一个动作会生效是不可预料的。

  新模式解决方案的设计消除了模式的变化时,新的节点加入集群所造成的延迟。当节点加入群集时,它能立马接收到当前模式的变化。

处理不同的模式

  在这种情况下,模式的分歧发生,检查并解决不同的模式,如下:

过程

1.使用命令行接口,运行DESCRIBE CLUSTER 命令

$ cassandra-cli -host localhost -port 9160

[default@unknown] DESCRIBE cluster;

如果有节点出现了故障感知不到,你会收到如下提示信息:

[default@unknown] describe cluster;

Cluster Information:

Snitch: com.datastax.bdp.snitch.DseDelegateSnitch

Partitioner: org.apache.cassandra.dht.RandomPartitioner

Schema versions:

UNREACHABLE: [10.202.205.203, 10.80.207.102, 10.116.138.23]

2.重启出现故障的节点

3.重复操作步骤1和步骤2直到DESCRIBE 命令显示所有的节点使用同一个模式版本为止——在DESCRIBE的输出只出现了一个模式的版本。