Detailed explanation of master-slave configuration method of redis
The master-slave configuration method of redis under Linux system is very simple. Here are the specific operation steps of the master-slave configuration method of redis.
Environment:
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
Installation 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.
port 6379 #This port is the default of redis, you can leave it unchanged
Copy software to slave node
[root@rac1 opt]# scp -r redis-2.6.8 rac2:/opt
2. from the 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 #modified to custom port of slave node
# slaveof slaveof 192.168.2.101 6379
This step is the most critical. Add the IP or host and port number of the master.
3. Start redis service
Start master node
[root@rac1 ~]# redis-server /etc/redis_master.conf > redis_master.log 2>&1 &
& allows commands to 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 redisroot 5930 14334 0 16:56 pts/1 00:00:02 redis-server /etc/redis_master.confroot 7250 14334 0 17:03 pts/1 00:00:00 grep redis
Start 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 redisroot 321 29770 0 17:54 pts/1 00:00:00 grep redisroot 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 6379Trying 192.168.2.101... Connected to rac1.localdomain (192.168.2.101).Escape character is '^]'.rpush data 1:1rpush data 1:2lrange data 0 -1*2$11$11
slave node validation
[root@rac1 ~]# telnet 192.168.2.102 6389Trying 192.168.2.102... Connected to rac2.localdomain (192.168.2.102).Escape character is '^]'.lrange data 0 -1*2$11$11quit+OKConnection closed by foreign host.
Well, this master-slave redis has been configured and successfully run, Linux system redis master-slave configuration method operation is very simple as long as the steps carefully configured basic can be configured successfully