1. Server (or cloud server) based on centos7 system;
2.Redis installation package
Due to Due to resource limitations, this article will be built on a server and distinguished by different port numbers;
1. Upload the redis installation package to the specified directory (and decompress it)
2. Create three directories in the current directory.
In the current directory, create three file directories: 7001, 7002, and 7003.
3. Copy the redis.conf configuration file under the redis decompression package to three directories respectively
4. Modify the default port number of each configuration file and the data storage directory
You can use the sed command for batch replacement and modification
sed -i -e 's/6379/7001/g' -e 's/dir .\//dir \/tmp\/7001\//g' 7001/redis.conf sed -i -e 's/6379/7002/g' -e 's/dir .\//dir \/tmp\/7002\//g' 7002/redis.conf sed -i -e 's/6379/7003/g' -e 's/dir .\//dir \/tmp\/7003\//g' 7003/redis.conf
After the modification is completed, we may wish to view any configuration file,
5. Modify the declared IP of each instance
The virtual machine itself has multiple IPs. In order to avoid future confusion, the binding IP information of each instance needs to be specified in the redis.conf file. The format is as follows:
replica-announce -ip The current IP
can still be edited by batch modification
sed -i '1a replica-announce-ip 当前IP' 7001/redis.conf sed -i '1a replica-announce-ip 当前IP' 7002/redis.conf sed -i '1a replica-announce-ip 当前IP' 7003/redis.conf
After the modification is completed, you can confirm it with the following command
The modification of the above configuration files is basically completed
6. Cluster startup
Start 3 instances respectively , the startup process is as follows:
7001 instance:
##7002 instance:
7003 instance:
If you want to stop with one click, you can run the following command:printf '%s\n' 7001 7002 7003 | xargs -I{} -t redis-cli -p {} shutdown
7. Configure the master-slave relationship between three instances
Three instances are started above, but there is no master-slave relationship between them. To configure the master-slave relationship, you can use replicaof or slaveof (before 5.0) command.There are two modes: temporary and permanent:
redis-cli -p 7002Then execute the following command
SLAVEOF 127.0.0.1 7001The moment you complete the above command, you can see the output information of the two instance consoles of 7001 and 7002. It can be seen that 7002 has completed the connection to 7001 And data synchronization Use the same method to connect to the 7003 client and perform the above operations Connect to the 7001 client terminal, execute the info command to view the cluster information. If you see the following information, it means that the cluster is successfully built
8. Cluster test
Connect the client on 7001 and set a key, then check on 7002 But if you set a key on 7002 or 7003, an error will be reported, that is, from The node does not have write permission;The above is the detailed content of How to build a redis replication cluster. For more information, please follow other related articles on the PHP Chinese website!