我是Cassandra的新手,使用最新的Cassandra 3.10。我有3个节点链接参加Cassandra。群集名称测试群集与三个节点相同。相同的数据中心 dc1 ,机架为 rack1 ,并使用 GossipingPropertyFileSnitch 进行窃听。配置
节点A:
- 种子:“A,B,C地址”
listen_address& rpc_address与A节点ip地址相同
节点B:
- 种子:“A,B,C地址”
listen_address& rpc_address与B节点ip地址相同
节点C:
- 种子:“A,B,C地址”
listen_address& rpc_address与C节点ip地址相同
我在这里列出的可能性
i)假设A节点出现故障,则从节点B和C获取数据。
ii)如果任何一个或两个节点故障从另一个节点获取数据。如何配置这些节点。
我使用简单策略,复制因子3已使用。 如果节点故障从另一个节点获取节点数据检索,种子地址或错误?简要说明该怎么做。
答案 0 :(得分:0)
回答你的问题:
如果节点A发生故障,则需要从节点B和C中获取数据 如果一个或两个节点发生故障,则需要从其他节点获取数据。
要实现上述目的,您配置的复制因子足以处理节点故障。错误的配置是让所有节点都成为种子节点。
种子节点用于引导其他节点,因此通常首先在数据中心中将第一个节点作为种子节点启动。假设您有2个数据中心。那么你应该有2个种子节点,如下面的datastax docs所述: http://docs.datastax.com/en/cassandra/3.0/cassandra/initialize/initSingleDS.html
根据您的上一条评论,您提到“检测到架构版本不匹配”。这意味着您的所有节点都不在同一个集群中。当所有节点都在运行时,使用nodetool检查架构
nodetool describecluster
这应该给节点架构版本。所有节点都应该是相同的模式版本 因此,如果任何一个节点没有相同的版本,则重新启动节点,直到模式版本相同。
修复此架构错误后,您将能够创建键空间。