Yum mounting structures Redis Redis master copy from the CentOS7 yum installed at the CentOS7 Redis CentOS7

(1) Experimental environment

youxi1 192.168.1.6 Master Server

youxi2 192.168.1.7 Slave server

(2) Experimental

 1) yum install Redis on two servers, set up and boot from Kai

  Detailed view: yum install Redis under CentOS7

 2) Master server configuration changes

[root @ youxi1 ~] # vim /etc/redis.conf 
the bind 0.0.0.0// line 63, set the listen address. 0.0.0.0 means listening to all addresses 
requirepass 123456 // line 507, set the authentication password 
[root @ youxi1 ~] # systemctl restart redis

  If the firewall is turned on, remember to add the port number

[root@youxi1 ~]# firewall-cmd --permanent --zone=public --add-port=6379/tcp && firewall-cmd --reload
success
success

 3) a modified configuration server Slave

[root @ youxi2 ~] # Vim /etc/redis.conf 
replicaof 6379 // 192.168.1.6 line 286, the master set IP address and port number 
masterauth 123456 // line 293, disposed master authentication password 
[root @ youxi2 ~] # systemctl restart redis

 4) Check the master and slave status information

  查看master的状态信息

[root@youxi1 ~]# redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> info replication
# Replication
role:master  //这是一台master
connected_slaves:1  //连接slave服务器的数量
slave0:ip=192.168.1.7,port=6379,state=online,offset=350,lag=1  //slave服务器的信息
master_replid:e26e1e0953261c81b2ca2de08ce8ebda264eeabf
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:350
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:350

  查看slave的状态信息

[root@youxi2 ~]# redis-cli
127.0.0.1:6379> info replication
# Replication
role:slave  //这是一台slave
master_host:192.168.1.6  //master服务器的IP地址
master_port:6379  //master服务器的端口号
master_link_status:up  //连接状态
master_last_io_seconds_ago:5
master_sync_in_progress:0
slave_repl_offset:112
slave_priority:100
slave_read_only:1  //成为slave服务器后,只读
connected_slaves:0
master_replid:e26e1e0953261c81b2ca2de08ce8ebda264eeabf
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:112
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:112

 5)测试

  在master服务器上创建一个键值,然后到slave上查看

[root@youxi1 ~]# redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> set user youxi
OK

[root@youxi2 ~]# redis-cli
127.0.0.1:6379> get user
"youxi"

  这就成功了。

(3).主从复制高级配置参数

  CentOS7下yum安装Redis已经记载了,这里复制一下,便于查看。

/*第218到220行,快照存储策略,存到磁盘的持久化策略
*第一个数字是单位时间,单位为秒;第二个数字是键值发生变化的次数
* 例如第一个,900秒内至少发生1次键值变化,则做一次快照(持久化)
* 第二个就是,300秒内至少发生10次键值变化,则做一次快照(持久化)
* 所有条件是并列关系,根据不同的键值变化选择使用规则
*/
save 900 1
save 300 10
save 60 10000
//第235行,在进行快照备份时,一旦发生错误是否停止,默认yes即可
stop-writes-on-bgsave-error yes
//第241行,指定RDB文件是否压缩。yes表示压缩,会消耗CPU资源
rdbcompression yes
/*第250行,是否对RDB文件做校验码检测。
*此项定义在redis启动时加载RDB文件是否对文件检查校验码,在redis生成RDB文件是会生成校验信息,在redis再次启动或装载RDB文件时,是否检测校验信息。
*如果检测的情况下会消耗时间,会导致redis启动时慢,但是能够判断RDB文件是否产生错误。
*/
rdbchecksum yes
//第253行,RDB文件名称
 dbfilename dump.rdb
//第263行,RDB文件存放的路径
dir /var/lib/redis
 
//第286行,定义Master服务器的IP和端口,主从复制的配置信息
# replicaof <masterip> <masterport>
//第293行,定义Master服务器的密码,主从复制的配置信息
# masterauth <master-password>
//第308行,当从端在主从复制过程中与主端断开连接,yes表示继续提供服务,即使数据可能不是最新的;no表示对请求返回错误信息
replica-serve-stale-data yes
//第324行,从端只读
replica-read-only yes
//第355行,默认不使用diskless(无磁盘)同步方式
repl-diskless-sync no
//第367行,diskless(无磁盘)方式进行数据传递之前会有一个时间的延迟,以便从端能够进行到待传送的目标队列中,默认5秒
repl-diskless-sync-delay 5
//第373行,从端向主端发送ping的时间间隔,默认10秒
# repl-ping-replica-period 10
//第385行,设置超时时间
# repl-timeout 60
/*第400行,是否启用TCP_NODELAY。
* 如果启用则会使用少量的TCP包和带宽去进行数据传输到从端,速度较慢;
* 如果不启用则使用较多的带宽进行数据传输,速度较快。
*/
repl-disable-tcp-nodelay no
/*第413行,设置backlog的大小。backlog是一个缓冲区,在从端失联时存放要同步到从端的数据。
* 因此当从端重连时,一般是不需要完全同步的。backlog越大,从端可以失联的时间就越长(相对来说)
*/
# repl-backlog-size 1mb
//第426行,一段时间后,从端还没有连上master,那么backlog(缓冲区)的内存将被释放。0表示永不释放,默认3600秒
# repl-backlog-ttl 3600
//第441行,从端的优先级设置,数字越小优先级越高。主端故障会根据优先级高的从端来进行恢复。如果设置的是0,那么该从端永远不会被选中
replica-priority 100
//第457到458行,当主端的可用从端小于3个或网路延迟岛屿10秒时,主端拒绝接收用户的写请求。
# min-replicas-to-write 3
# min-replicas-max-lag 10

  

Guess you like

Origin www.cnblogs.com/diantong/p/11259368.html