美文网首页
Redis简单集群

Redis简单集群

作者: Stephenwish | 来源:发表于2020-07-14 15:27 被阅读0次

    前提准备:

    1>>>开放云服务器web控制台对应的端口和对应防火墙端口
    2>>>2台阿里云服务器(公网IP:120.25.172.196,120.78.177.101)
    一台腾讯云服务器(公网IP:111.231.106.5)
    其中(120.25.172.196作为主,其他两台作为从)

    第一步:先把单机Redis跑起来,分别先启动三台没有集群的Redis

    主要修改3个配置如下:
    bind 0.0.0.0 (原本是127.0.0.1,bind不是绑定意思而是允许哪个IP访问这个跑起来redis,0.0.0.0代表任意IP)

    requirepass xu123456 (设置密码,客户端需要用,在小黑窗打命令如下redis-cli -a xu123456)

    masterauth xu123456 (设置从节点追随主节点密码,设成和上面一样)

    》》》带配置启动Redis服务:redis-server ~/redisfile/redis.conf

    第二步:在其中从节点客户端打开redis

    在120.78.177.101 进入redis-cli 客户端小黑窗后,执行replicaof 120.25.172.196 6379 追随master

    image.png image.png

    在111.231.106.5 进入redis-cli 客户端小黑窗后,执行replicaof 120.25.172.196 6379 追随master


    额外:上面集群了,当主节点挂了的时候,需要手动维护把从节点变成主节点,把从节点变成主节点命令为:replicaof no one,如果有哨兵机制那么,大半夜挂了的话,可以程序代替人,进行切换。哨兵主要起到监控和故障转移作用


    设置哨兵步骤

    1,redis-server 26379.conf --sentinel


    image.png

    其中26379.conf 只有两行:
    port 26379
    sentinel monitor mymaster 120.25.172.196 6379 2

    (一)如果你设置了密码哨兵也要再加上一行否则一直sdown(血的教训(⊙﹏⊙)),成功以后有slave日志

    sentinel auth-pass mymaster xu123456


    image.png

    (二)哨兵直接的通信默认是内网IP,所以无法通信需要公开外网IP,需要再加一行配置

    sentinel announce-ip "120.25.172.196" #这个是公布Redis 对外用这个公网IP

    具体解释:mymaster任意给的名字,127.0.0.1 6379 代表监控的服务,2代表选举势力
    假如集群中有5个sentinel,票数被设置为2,当2个sentinel认为一个master已经不可用了以后,将会触发failover,但是,进行failover的那个sentinel必须先获得至少3个sentinel的授权才可以实行failover。
    如果票数被设置为5,要达到ODOWN状态,必须所有5个sentinel都主观认为master为不可用,要进行failover,那么得获得所有5个sentinel的授权。

    相关文章

      网友评论

          本文标题:Redis简单集群

          本文链接:https://www.haomeiwen.com/subject/cvpwcktx.html