redis集群(主从复制)
2018-01-03 10:55
387 查看
14 redis集群(主从复制)
14.1 集群的优点1、主从备份 防止主机宕机 丢失数据 无法提供服务 2、读写分离,分担主机的任务 3、任务分离
14.2 集群搭建
1、这里使用同一台机器不同的端口来作集群 192.168.202.136:6379 master 192.168.202.136:6380 slave1 192.168.202.136:6381 slave2 2、redis.conf 文件配置 由于需要使用三个不同端口开启三个redis。因此需要再复制两份redis.conf 分别重命名为:redis6380.conf,redis6381.conf。(当然也可以将redis整个目录复制成两份,这里只是复制redis.conf文件) cp redis.conf redis6380.conf cp redis.conf redis6381.conf 3、修改redis6380.conf文件 pidfile /var/run/redis_6380.pid port 6380 dbfilename dump6380.rdb(这个是为了分担master的压力,也可以不配置) slaveof 127.0.0.1 6379 slave-read-only yes 4、同上修改redis6381.conf文件 5、测试 5.1 启动服务 ./bin/redis-server redis.conf ./bin/redis-server redis6380.conf ./bin/redis-server redis6381.conf 5.2 启动客户端 ./bin/redis-cli -h 127.0.0.1 -p 6379 ./bin/redis-cli -h 127.0.0.1 -p 6380 ./bin/redis-cli -h 127.0.0.1 -p 6381 6、 redis设置密码 6.1、修改redis.conf: requirepass 123456 6.2、修改redis6380.conf,redis6381.conf: masterauth 123456 7、手动切换master主机 第一步:master主机 执行shutdown 第二步:slave0主机 执行 slaveof no one 使得该主机变为master 第三步:salve0主机 config set slave-read-only no 使得该主机可写 第四步:salve1主机 slaveof ip port 指向 第二步中主机的地址和端口 8、自动切换master主机,sentinel.conf 配置 第一步:复制两份sentinel.conf,分别为sentinel6380.conf,sentinel6381.conf sentinel.conf配置说明: 1、sentinel monitor mymaster 127.0.0.1 6379 2 为哨兵起名字为mymaster,并且该哨兵监控的为6379这个redis服务, 2、sentinel down-after-millisenconds mymaster 30000 三十秒钟链接不上,认为宕机 3、sentinel can-failover mymaster yes 4、sentinel parallel-syncs mymaster 1(同时将1台指向master) 5、sentinel failover-timeout mymaster 900000(15分钟没有设置成功则认为失败) 6、redis.conf文件配置作为master的优先级slave-priority 100 (值越小,越优先) 第二步:编辑复制出来的两份sentinel文件,并修改端口
14.3 常用维护命令
1.time 127.0.0.1:6379> time 1) "1514890285" #秒数 2) "558782 # 微秒数 2.bgrewriteaof 立即重写aof 3.save :手动导出rdb,当前进程 4.lastsave :上次保存rdb时间 5.bgsave :手动导出rdb,后台进程 6.flushall:清空所有db的数据 7.flushdb:清空当前db的数据 8.showlog : 9.info:返回服务器的信息 10.config get key :获取redis.conf中的配置信息 11.config set key value:设置redis.conf中的配置信息
14.4 恢复数据
当flushdb或者flushall后,发现误删,想要恢复数据? 第一步:立即shutdown nosave 第二步:vim aof日志文件 删除flushall或者flushdb命令 第三步:重启redis
14.5 将A服务器上的redis数据 导入到 B服务器上的redis
A服务器: 第一步:执行bgsave 第二步:复制一份rdb文件,提供给B服务器使用(这里需要将,redis-server关闭,否则复制的rdb文件是有问题的) B服务器: 第一步:检查redis.conf文件中rdb的配置
相关文章推荐
- Redis主从复制和集群配置
- Redis主从复制和集群配置系列之五
- Redis进阶实践之十 Redis主从复制的集群模式
- Redis集群方案之Twemproxy+HAProxy+Keepalived+Sentinel+主从复制(待实践)
- Redis主从复制和集群配置
- Redis主从复制和集群配置
- Redis--(linux安装redis3.2.9主从复制与集群的搭建--教程)
- Redis的主从复制集群实现
- Redis主从复制和集群配置
- redis主从复制和集群实现原理
- Redis 主从复制(服务集群)
- Redis主从复制和集群配置
- 实现redis(主从,sentinel,cluster)的主从复制集群
- Redis主从复制和集群配置系列之六(redis集群节点新增、删除、重新分配slot实战)
- Redis主从复制和集群配置
- redis主从复制+sentinel集群
- Redis主从复制和集群配置
- redis主从复制【master-slave集群】
- Redis的主从复制与集群配置实践
- Redis主从复制和集群配置