【发布时间】:2017-02-09 23:04:35
【问题描述】:
我有 3 个节点的 Cassandra 3.7 集群,密钥空间复制因子为 3。
所有 3 个节点都已启动并处于同步状态。当一个 cassandra 节点出现故障时,我重新启动它,该节点与另一个节点同步。
现在我的问题是当其中一个节点出现网络频繁波动等问题时(cassandra 仍在运行)。 假设节点 1 出现网络问题,其他 2 个节点上的 nodetool 状态显示节点 1 已关闭。当网络回到节点 1 上时 nodetool状态显示其他节点都down了。
以下是我在 cassandra.yaml 文件中所做的配置更改。
Node 01
cluster_name: 'Test Cluster'
num_tokens: 256
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "10.1.1.4,10.1.1.5,10.1.1.6"
listen_address: 10.1.1.4
broadcast_address: 10.1.1.4
rpc_address: 0.0.0.0
broadcast_rpc_address: 10.1.1.4
Node02
cluster_name: 'Test Cluster'
num_tokens: 256
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "10.1.1.4,10.1.1.5,10.1.1.6"
listen_address: 10.1.1.5
broadcast_address: 10.1.1.5
rpc_address: 0.0.0.0
broadcast_rpc_address: 10.1.1.5
Node03
cluster_name: 'Test Cluster'
num_tokens: 256
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "10.1.1.4,10.1.1.5,10.1.1.6"
listen_address: 10.1.1.6
broadcast_address: 10.1.1.6
rpc_address: 0.0.0.0
broadcast_rpc_address: 10.1.1.6
网络启动时节点 1 上的 Nodetool 状态显示其他节点已关闭 (DN)。
其他节点的Nodetool状态显示节点1宕机(DN)
gossip 协议在这种情况下如何工作?
为什么网络上的时候节点1和其他节点不同步?
请帮帮我。
提前致谢,
GKK
【问题讨论】:
-
要么你的网络很时髦,要么你的节点过载和抖动。查看 gc 日志和 tp 统计信息。密切关注八卦线程池。