我在 Windows 2012 机器上运行 4 节点 REDIS CLUSTER。
我的设置是1个主和3个从。当我通过服务组件结束主服务时,我的奴隶都没有自动将自己提升为主服务。我如何让奴隶认识到主人失败并让他们在看到失败后立即晋升。下面是我的Redis配置。这是所有节点的相同配置文件,唯一的区别是每个节点的端口都改变了
port 30002
cluster-enabled yes
cluster-config-file nodes.conf
appendonly yes
loglevel notice
logfile "log"
syslog-enabled yes
syslog-ident redis
maxmemory 200mb
maxmemory-policy volatile-ttl
编辑
我需要提供哪些其他信息才能更轻松地帮助修复。
编辑 2
我的最终游戏是一个 redis 集群,我希望这个集群有 1 个主节点和 3 个从节点。我想要一个具有 1 个主站和 3 个从站的集群的原因是,我想避免安装 REDIS Sentinel。我希望集群将奴隶提升为主人,而不是 redis 哨兵这样做。
我的安装过程如下
瞧,集群设置,其中文件夹 A 是主设备,B、C、D 是 A 的从设备。现在唯一的问题是,当 A 关闭时,没有任何从设备 (B、C、D) 自动升级。
编辑
master的redis.conf文件
port 30001
cluster-enabled yes
cluster-config-file nodes.conf
appendonly yes
loglevel notice
logfile "log"
syslog-enabled yes
syslog-ident redis
maxmemory 200mb
maxmemory-policy volatile-ttl
运行前集群节点的输出 sc stop redismasteralpha
05a73c800cccfd8b11d33232887570c52a326afe 10.144.62.3:30002 slave 20be3e69195744aa379124d19a836650c72c23ba 0 1478637832268 5 connected
20be3e69195744aa379124d19a836650c72c23ba 10.144.62.3:30001 master - 0 1478637837736 5 connected 0-16383
d60d3d0a9f12ef37c997fe44389996d8c7f19c2c 10.144.62.3:30000 myself,slave 20be3e69195744aa379124d19a836650c72c23ba 0 0 1 connected
fda22db5ed5d25e2a8fba82122b47818fba248ce 10.144.62.3:30003 slave 20be3e69195744aa379124d19a836650c72c23ba 0 1478637836644 5 connected
Run Code Online (Sandbox Code Playgroud)
停止服务后
05a73c800cccfd8b11d33232887570c52a326afe 10.144.62.3:30002 myself,slave 20be3e69195744aa379124d19a836650c72c23ba 0 0 3 connected
d60d3d0a9f12ef37c997fe44389996d8c7f19c2c 10.144.62.3:30000 slave,fail 20be3e69195744aa379124d19a836650c72c23ba 1478637948956 1478637947808 5 disconnected
fda22db5ed5d25e2a8fba82122b47818fba248ce 10.144.62.3:30003 slave 20be3e69195744aa379124d19a836650c72c23ba 0 1478638078833 5 connected
20be3e69195744aa379124d19a836650c72c23ba 10.144.62.3:30001 master,fail? - 1478638034799 1478638031628 5 connected 0-16383
Run Code Online (Sandbox Code Playgroud)
而且master,fail状态也不会改变,无论我多么漫长的等待
服务停止后的集群信息
cluster_state:fail
cluster_slots_assigned:16384
cluster_slots_ok:0
cluster_slots_pfail:16384
cluster_slots_fail:0
cluster_known_nodes:4
cluster_size:1
cluster_current_epoch:5
cluster_my_epoch:5
cluster_stats_messages_sent:1075189
Run Code Online (Sandbox Code Playgroud)
cluster_stats_messages_received:930887
据我所知,redis集群在master数量少于3个的情况下是无法工作的。
看看这篇关于redis集群教程的笔记:
请注意,按预期工作的最小集群需要包含至少三个主节点。对于您的第一次测试,强烈建议启动一个包含三个主节点和三个从节点的六节点集群。
| 归档时间: |
|
| 查看次数: |
4175 次 |
| 最近记录: |