主要参考:
遇到问题参考如下:
redis 集群命令:
【1】redis 设置密码
redis 若要设置密码,则修改 redis.windows.conf 如下配置:
# requirepass foobared
注释 # 去掉,并将 foobared 修改为自己设置的密码。如设置为:
requirepass 123456
redis-trib.rb 文件也要相应修改,添加 , :password => "123456",修改后如下所示:
@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60, :password => "123456")
若执行redis 命令出现 NOAUTH Authentication required. 则需输入命令:auth 123456 进行认证。
注:需要同时配置masterauth,与 requirepass 设置一致,否则主节点 fail,从节点不会变为主节点。
# If the master is password protected (using the "requirepass" configuration
# directive below) it is possible to tell the slave to authenticate before
# starting the replication synchronization process, otherwise the master will
# refuse the slave request.
#
# masterauth <master-password>
【2】集群查看 redis 主从关系
首先执行如下命令,连接 7000端口节点:
redis-cli.exe -c -p 7000
执行如下命令,便可查看主从关系:
cluster nodes
显示结果如下:myself 表示当前连接的节点,master 表示主节点,slave 表示从节点,slave 后一串字符串表示其对应的主节点。注:若有 fail 则表示该节点发生故障,已经挂掉。
db53d97d91a49c071f64fb337f809392f127de20 127.0.0.1:7000 myself,master - 0 0 1 connected 0-5460
5c308cc953200c9babf6700a060fef63822b9b33 127.0.0.1:7001 master - 0 1591942818545 2 connected 5461-10922
9a8d8013266dd2bcbdb8481574b1391cde9102f4 127.0.0.1:7005 slave 6da152715a22b2439b3d5ec50312b612ef20cf97 0 1591942820566 6 connected
6da152715a22b2439b3d5ec50312b612ef20cf97 127.0.0.1:7002 master - 0 1591942821567 3 connected 10923-16383
7c6de8debb9c885164237dff18f9d4ad4db161e9 127.0.0.1:7003 slave db53d97d91a49c071f64fb337f809392f127de20 0 1591942819545 4 connected
94ae4b384833b28bb3cebb39f523b8677aeff84d 127.0.0.1:7004 slave 5c308cc953200c9babf6700a060fef63822b9b33 0 1591942816541 5 connected
如果 节点挂掉 fail 了,执行 redis-server.exe redis.windows.conf 命令重启该节点后,然后执行如下命令修复挂掉的节点(假设挂掉的是 7002 端口节点):
redis-trib.rb fix 127.0.0.1:7002
也可以通过如下命令,查看哪个节点连接不上:
redis-trib.rb check 127.0.0.1:7002
如下,可发现: 7001 端口连接不上,该节点挂了。