redis的主从构建以及在down机后如何切换

redis2.8

wget http://download.redis.io/releases/redis-2.8.3.tar.gz

tar –zxvf redis-2.8.3.tar.gz

cd redis-2.8.3

make;make install

daemonize yes

注意:

主服务器和从服务器上的日志存储方式不要重复,6379中开启aof,6380中开启rdb,其它的都关闭,避免过多的重复数据

一、一台服务器上有多个redis服务,只是端口号不一致

1.复制出安装的redis

2.配置

(一)、修改一下软件唯一的pid

(二)、修改一下端口号

(三)、修改一下存放路径

(四)、加入通信的服务

3.启动redis服务

redis-server /etc/redis.conf

4.查看redis服务

5.用master进入redis-cli查看info信息

master是写入的,slave是读的,我们用master-cli测试一下

6.查看从服务器

7.sentinel哨兵

redis-server sentinel.conf --sentinel

终止服务

redis-cli -p 6379 shutdown

二、用多台服务器完成

只需绑定主服务器的ip

slaveof 主服务ip 端口 

sentinel

Redis Sentinel是redis自带的集群管理工具,主要功能有

· 监控(Monitoring): Redis Sentinel实时监控主服务器和从服务器运行状态。

· 提醒(Notification):当被监控的某个 Redis 服务器出现问题时, Redis Sentinel 可以向系统管理员发送通知, 也可以通过 API 向其他程序发送通知。

· 自动故障转移(Automatic failover): 当一个主服务器不能正常工作时,Redis Sentinel 可以将一个从服务器升级为主服务器, 并对其他从服务器进行配置,让它们使用新的主服务器。当应用程序连接到 Redis 服务器时, Redis Sentinel会告之新的主服务器地址和端口。

设置redis密码

配置文件中 requirepass passwd

使用的话 auth 输入密码

注意:如果主服务器设置了密码之后,从服务器会出现问题,数据不一致了

需要在从服务器的配置中 配置 masterauth 密码

缺陷:

每次slave断开后(无论是主动,还是网络故障)再次连接master后,都要从master全部dump出来rdb,再aof,即同步的过程都要重新执行一遍。

所以多台slave不能一下都启动起来,否则master的IO可能剧增

你可能感兴趣的:(redis)