reids主从+redis的哨兵模式
1.准备三台服务器
192.168.18.140 //担当master的角色
192.168.18.141 //担当slave的角色
192.168.18.142 //担当slave的角色
在每一台上都安装redis
首先下载redis的安装包
cd /usr/local/src wget http://download.redis.io/releases/redis-5.0.2.tar.gz tar -zxf redis-5.0.2.tar.gz cd redis-5.0.2 make && make isntall cp redis.conf /etc/
编辑我们复制出来的配置文件 这是主的reids上的配置修改的配置文件
vim /etc/redis.conf --------------------------------------------- bind 0.0.0.0 daemonize yes //后台运行 ---------------------------------------------
这是两个从的reids的配置文件上修改的内容
bind 0.0.0.0 daemonize yes replicaof 192.168.18.140 6379 //这条是注释的在原配置文件中可以自己解开注释 写的是主的redis的IP和地址
可以验证redis
在主的reids中写入数据 在从的redis中查看是否可以获取到
在主写入数据 127.0.0.1:6379> set name cyy OK 在从上可以获取到 127.0.0.1:6379> get name "cyy"
分别开启三台redis的服务
redis-server /etc/redis.conf [root@localhost redis-5.0.5]# redis-cli //执行这条命令可以看看到身份 是master 有两个从的主机 127.0.0.1:6379> info # Replication role:master connected_slaves:2 //从的redis的个数 slave0:ip=192.168.18.140,port=6379,state=online,offset=21554,lag=1 slave1:ip=192.168.18.142,port=6379,state=online,offset=21554,lag=1 master_replid:9331f8c9b92f2b21d823e60f4a90a12b2a2a0341 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:21554 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:21554 这个是其中一个从的 redis-cli 127.0.0.1:6379> info # Replication role:slave master_host:192.168.18.141 //可以看到我监控的主的redis的IP地址 master_port:6379 //监听的端口 master_link_status:up master_last_io_seconds_ago:0 master_sync_in_progress:0 slave_repl_offset:24517 slave_priority:100 slave_read_only:1 connected_slaves:0 master_replid:9331f8c9b92f2b21d823e60f4a90a12b2a2a0341 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:24517 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:24517
以上操作已经完成了redis 的一主两从
接下来的操作可以完成redis的哨兵模式 哨兵模式的完成实在redis的主从基础上完成的。
三台redis都做如下操作
/usr/local/src/redis-5.0.5 cp sentinel.conf /etc/ vim /etc/sentinel.conf --------------------------------------------------------- protected-mode no sentinel monitor mymaster 192.168.18.141 6379 2 ----------------------------------------------------------
开启redis的哨兵模式
redis-server /etc/sentinel.conf --sentinel
这个时候可以关掉redis主的服务器 可以看见他们的选举过程表示成功
关掉主的redis 的进程 新的选举过程