Details of the master slave configuration method for redis

  • 2020-06-12 10:57:44
  • OfStack

The master-slave configuration method of redis in Linux system is very simple. The following is the detailed operation steps of master-slave configuration method of redis

Environment Introduction:

OS: oracle linux 5.6

redis:redis-2.6.8

master rac1 192.168.2.101

slave rac2 192.168.2.102

Download Address:

http://redis.googlecode.com/files/redis-2.6.8.tar.gz

Install configuration master slave redis

1. Master node configuration


[root@rac1 opt] tar zxvf redis-2.6.8.tar.gz
[root@rac1 opt] cd redis-2.6.8
[root@rac1 redis-2.6.8]# make
[root@rac1 redis-2.6.8]# cp src/redis-server /usr/local/bin/
[root@rac1 redis-2.6.8]# cp redis.conf /etc/redis_master.conf
[root@rac1 redis-2.6.8]# cat /etc/redis_master.conf 
# If port 0 is specified Redis will not listen on a TCP socket.

This port is the default of redis and can not be changed

Copy the software to the slave node


[root@rac1 opt]# scp -r redis-2.6.8 rac2:/opt

2. Slave node configuration


[root@rac2 redis-2.6.8]# cp src/redis-server /usr/local/bin/
[root@rac2 redis-2.6.8]# cp redis.conf /etc/redis_slave.conf
# If port 0 is specified Redis will not listen on a TCP socket.

port 6389 # is modified to be the custom port of the slave node


# slaveof <masterip> <masterport>
slaveof 192.168.2.101 6379 

This step is critical, adding IP to master or host and port Numbers

3. Start redis

Start the master node


[root@rac1 ~]# redis-server /etc/redis_master.conf > redis_master.log 2>&1 &

& Commands can be executed in the background without affecting screen usage.


  _._             
   _.-``__ ''-._            
  _.-`` `. `_. ''-._   Redis 2.6.8 (00000000/0) 64 bit
 .-`` .-```. ```\/ _.,_ ''-._         
( '  ,  .-` | `, )  Running in stand alone mode
|`-._`-...-` __...-.``-._|'` _.-'|  Port: 6379
| `-._ `._ /  _.-' |  PID: 477
 `-._ `-._ `-./ _.-' _.-'         
|`-._`-._ `-.__.-' _.-'_.-'|         
| `-._`-._  _.-'_.-' |   http://redis.io  
 `-._ `-._`-.__.-'_.-' _.-'         
|`-._`-._ `-.__.-' _.-'_.-'|         
| `-._`-._  _.-'_.-' |         
 `-._ `-._`-.__.-'_.-' _.-'         
  `-._ `-.__.-' _.-'          
   `-._  _.-'           
    `-.__.-'            
[477] 12 Mar 16:43:30.319 # Server started, Redis version 2.6.8
[477] 12 Mar 16:43:30.319 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
[477] 12 Mar 16:43:30.319 * The server is now ready to accept connections on port 6379
[root@rac1 ~]# ps -ef|grep redis
root  5930 14334 0 16:56 pts/1 00:00:02 redis-server /etc/redis_master.conf
root  7250 14334 0 17:03 pts/1 00:00:00 grep redis

Start the slave node


[root@rac2 ~]# redis-server /etc/redis_slave.conf > redis_slave.log 2>&1 &
[1] 32507
[32507] 12 Mar 17:51:55.346 * Max number of open files set to 10032
    _._             
   _.-``__ ''-._            
  _.-`` `. `_. ''-._   Redis 2.6.8 (00000000/0) 64 bit
 .-`` .-```. ```\/ _.,_ ''-._         
( '  ,  .-` | `, )  Running in stand alone mode
|`-._`-...-` __...-.``-._|'` _.-'|  Port: 6389
| `-._ `._ /  _.-' |  PID: 32507
 `-._ `-._ `-./ _.-' _.-'         
|`-._`-._ `-.__.-' _.-'_.-'|         
| `-._`-._  _.-'_.-' |   http://redis.io  
 `-._ `-._`-.__.-'_.-' _.-'         
|`-._`-._ `-.__.-' _.-'_.-'|         
| `-._`-._  _.-'_.-' |         
 `-._ `-._`-.__.-'_.-' _.-'         
  `-._ `-.__.-' _.-'          
   `-._  _.-'           
    `-.__.-'            
[32507] 12 Mar 17:51:55.350 # Server started, Redis version 2.6.8
[32507] 12 Mar 17:51:55.350 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
[32507] 12 Mar 17:51:55.350 * The server is now ready to accept connections on port 6389
[32507] 12 Mar 17:51:56.348 * Connecting to MASTER...
[32507] 12 Mar 17:51:56.349 * MASTER <-> SLAVE sync started
[32507] 12 Mar 17:51:56.495 * Non blocking connect for SYNC fired the event.
[32507] 12 Mar 17:51:57.014 * Master replied to PING, replication can continue...
[32507] 12 Mar 17:51:57.028 * MASTER <-> SLAVE sync: receiving 18 bytes from master
[32507] 12 Mar 17:51:57.029 * MASTER <-> SLAVE sync: Loading DB in memory
[32507] 12 Mar 17:51:57.037 * MASTER <-> SLAVE sync: Finished with success

[root@rac2 ~]# ps -ef|grep redis
root  321 29770 0 17:54 pts/1 00:00:00 grep redis
root  32507 29770 0 17:51 pts/1 00:00:00 redis-server /etc/redis_slave.conf

4. Verify master-slave replication

master node data input


[root@rac1 ~]# telnet 192.168.2.101 6379
Trying 192.168.2.101...
Connected to rac1.localdomain (192.168.2.101).
Escape character is '^]'.
rpush data 1
:1
rpush data 1
:2
lrange data 0 -1
*2
$1
1
$1
1

slave node validation


[root@rac1 ~]# telnet 192.168.2.102 6389
Trying 192.168.2.102...
Connected to rac2.localdomain (192.168.2.102).
Escape character is '^]'.
lrange data 0 -1
*2
$1
1
$1
1
quit
+OK
Connection closed by foreign host.

Ok, the configuration of master and slave redis has been completed and successfully run. The configuration method of master and slave redis under Linux system is very simple to operate, and it can be configured successfully basically as long as the steps are carefully configured


Related articles: