redis哨兵集群搭建

下载redis jar包redis-4.0.11.tar.gz放在/data/redis目录下

redis哨兵集群搭建

解压 命令:tar -zxvf redis-4.0.11.tar.gz

redis哨兵集群搭建

解压后如图所示

redis哨兵集群搭建

在/usr/local目录下创建redis_sentinel文件夹

redis哨兵集群搭建

将/data/redis目录下解压后的redis文件夹移动到/usr/local/redis_sentinel目录下,命令 mv /data/redis/redis-4.0.11 /usr/local/redis_sentinel/

redis哨兵集群搭建

在/usr/local/redis_sentinel目录下创建6379 6380 6381 sentinel_server四个文件夹,命令 mkdir 6379 6380 6381 sentinel_server

redis哨兵集群搭建

进入到redis-4.0.11目录下,命令 make all

redis哨兵集群搭建

将redis-4.0.11/redis.conf文件分别拷贝到6379 6380 6381的目录下,将redis-4.0.11/sentinel.conf文件拷贝到sentinel_server的目录下如下图所示

redis哨兵集群搭建

我们将6379作为主服务,编辑6379下的redis.conf文件

daemonize 设置为 yes

redis哨兵集群搭建

protected-mode  设置为no 如果不设置为no,web服务是连接不上的

redis哨兵集群搭建

注释掉bind ip地址,或者设置为0.0.0.0否则远程连接是访问不了的

redis哨兵集群搭建

编辑6380下的redis.conf文件

daemonize 设置为 yes;protected-mode  设置为no;注释掉bind ip地址(这三步同上);

另外修改 port为6380

设置当前节点的主节点 slaveof 127.0.0.1 6379

redis哨兵集群搭建

编辑6381下的redis.conf文件

daemonize 设置为 yes;protected-mode  设置为no;注释掉bind ip地址(这三步同上);

另外修改 port为6381

设置当前节点的主节点 slaveof 127.0.0.1 6379sentinel monitor mymaster 127.0.0.1 6379 1

编辑sentinel_server下的sentinel.conf文件

设置sentinel monitor mymaster 127.0.0.1 6379 1 (mymaster可以随意取,但是下面的需要跟这里一致;如果要在web程序中使用,127.0.0.1必须改为对应的ip地址,否则会连不上)

redis哨兵集群搭建

设置sentinel down-after-milliseconds mymaster 10000 也可以默认不变

redis哨兵集群搭建

添加 daemonize yes

redis哨兵集群搭建

这里默认不变

redis哨兵集群搭建

设置 failover-timeout mymaster 60000

redis哨兵集群搭建

启动 6379 6380 6381三个节点服务,如下图所示

redis哨兵集群搭建

启动sentinel服务

redis哨兵集群搭建

进入6379节点,显示为 主节点;设置aaa 为 111,并且能获取成功

redis哨兵集群搭建

进入6380节点,显示为从节点,可以成功获取aaa的值,但是不能添加值,这就是redis读写分离

redis哨兵集群搭建

进入6381节点,同6380节点一样

redis哨兵集群搭建

现在我们尝试将6379节点shutdown

redis哨兵集群搭建

我们在进入6380节点,发现master已经变成6381节点了

redis哨兵集群搭建

进入6381节点,如下图所示

redis哨兵集群搭建

我们发现 6381节点确实变成主节点,而且可以设置新的值;这就是redis哨兵集群,当主节点down掉之后,会在从节点中选一个作为新的主节点

上一篇:node.js 热更新 自动重新编译 配置记录


下一篇:python连接redis哨兵集群