Redis主从复制
来源:互联网 发布:淘宝只退款不退货教程 编辑:程序博客网 时间:2024/06/10 16:38
Redis主从复制
主从复制图例
本例将根据以下图示搭建Redis主从复制。
说明:
- master 6379: Redis主机,端口号:6379
- slave1 6380: Redis从机1,端口号:6380
- slave2 6381: Redis从机2,端口号:6381
- slave3 6382: Redis从机3, 端口号:6382
关系说明:master6379与slave1, slave2, slave3构成了一主多从的模式,slave3是为了缓解master主机压力,会从属于slave1.
配置文件准备
将Redis.conf文件复制4份,分别是redis6379.conf, redis6380.conf, redis6381.conf, redis6382.conf.
修改配置文件属性:
- port: 6379,将四份配置文件中的port分别修改为对应的端口号
例如:port:6379, port:6380
pidfile /var/run/redis_6379.pid
将此配置分别修改为对应的端口的pid。
例如:pidfile /var/run/redis_6380.pid, pidfile /var/run/redis_6381.pid
- logfile “”, 日志文件,采用端口号命名用来区分,
例如: logfile “6379.log”, logfile “6380.log”
-dbfilename dump.rdb 将此配置修改为对应端口号的名称。
例如:dbfilename dump6379.rdb, dbfilename dump6380.rdb
- port: 6379,将四份配置文件中的port分别修改为对应的端口号
另外从机的配置文件中需要配置两个属性:
# slaveof <masterip> <masterport>slaveof 192.168.44.129 6379# masterauth <master-password>masterauth admin
启动redis服务及客户端
- 启动redis服务示例
[root@localhost ~]# cd /opt/redis/src/[root@localhost src]# ./redis-server ../redis6379.conf
- 启动redis客户端示例:
[root@localhost ~]# cd /opt/redis/src/[root@localhost src]# ./redis-cli -p 6379
- 授权认证
127.0.0.1:6382> auth adminOK
- 查看主从复制信息:
127.0.0.1:6379> info replication
6379主从复制信息如下:
127.0.0.1:6379> info replication# Replicationrole:masterconnected_slaves:2slave0:ip=192.168.44.129,port=6380,state=online,offset=23377,lag=0slave1:ip=192.168.44.129,port=6381,state=online,offset=23377,lag=0master_repl_offset:23377repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:2repl_backlog_histlen:23376127.0.0.1:6379>
分析:
role:master – 当前redis服务是一台主机服务
connected_slaves:2 –当前主机有两个从机节点,
从机信息:
slave0:ip=192.168.44.129,port=6380,state=online,offset=23377,lag=0
slave1:ip=192.168.44.129,port=6381,state=online,offset=23377,lag=0
port=6380的redis服务主从复制信息如下:
127.0.0.1:6380> clear127.0.0.1:6380> info replication# Replicationrole:slavemaster_host:192.168.44.129master_port:6379master_link_status:upmaster_last_io_seconds_ago:3master_sync_in_progress:0slave_repl_offset:23419slave_priority:100slave_read_only:1connected_slaves:1slave0:ip=127.0.0.1,port=6382,state=online,offset=491,lag=0master_repl_offset:505repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:2repl_backlog_histlen:504127.0.0.1:6380>
分析:
role:slave – 当前redis服务是一个从机节点
master_host:192.168.44.129 – 所属主机ip地址
master_port:6379 – 所属主机端口号
master_link_status:up – 主机连接状态
connected_slaves:1 – 表明当前从机服务也有一个从机服务,该从机服务信息如下:slave0:ip=127.0.0.1,port=6382,state=online,offset=491,lag=0
port=6381的redis服务主从复制信息:
127.0.0.1:6381> info replication# Replicationrole:slavemaster_host:192.168.44.129master_port:6379master_link_status:upmaster_last_io_seconds_ago:9master_sync_in_progress:0slave_repl_offset:23447slave_priority:100slave_read_only:1connected_slaves:0master_repl_offset:0repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0127.0.0.1:6381>
分析:
以上信息仅表明当前redis服务只是一个redis从机节点,可以参考port=6380的redis服务主从复制信息的节点分析。
port=6382的redis服务的主从信息如下:
127.0.0.1:6382> info replication# Replicationrole:slavemaster_host:127.0.0.1master_port:6380master_link_status:upmaster_last_io_seconds_ago:9master_sync_in_progress:0slave_repl_offset:99slave_priority:100slave_read_only:1connected_slaves:0master_repl_offset:0repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0127.0.0.1:6382>
分析:
role:slave – 表明当前redis服务是从机节点,且主机节点信息是
master_host:127.0.0.1 – 当前从机节点的主机节点ip。
master_port:6380 – 当前从机节点的主机节点端口。
master_link_status:up – 当前从机节点的主机节点状态。
注意:这台从机节点的主机节点也是一个从机节点(port=6380),这样做的原因是为了缓解最高主机节点(port=6379)的压力
4台redis服务主从复制信息图示:
验证主从复制
我们在主机节点(port=6279)上存放几个字符串信息,并在从机上直接查看。
如下图:
参考链接:
http://doc.redisfans.com/topic/replication.html
- 八.redis 主从复制
- Redis 主从复制
- 八.redis 主从复制
- 八.redis 主从复制
- Redis的主从复制
- Redis主从复制
- redis主从复制实验
- Redis主从复制配置
- redis主从复制配置
- Redis主从复制
- Redis主从复制
- redis之主从复制
- Redis主从复制
- Redis 主从复制
- 6.Redis主从复制
- redis主从复制
- redis主从复制过程
- redis系列-主从复制
- the Balanced Scoredcard —— 从建立到实施
- 支持向量机(SVM)的实现
- wb格式读入文件下使用fread函数会出错
- java中ftp文件上传和中文乱码解决
- jQuery与MooTools库的一些比对
- Redis主从复制
- 运输层协议——TCP
- 双链表的操作
- [iOS @2x @3x pt px 分辨率]
- 想要给PDF文件添加标签该如何去进行操作
- 排序算法之堆排序
- Web.xml配置详解之context-param
- [leetcode]131. Palindrome Partitioning
- ThreadLocal与ThreadLocalMap源码解析