说明:
常用的是3台master+3台slave架构(1个master+1个slave为一组):
3台master主机:用于写入数据,会定期将数据复制给各自的slave。
3台slave主机:用于读取数据。
此文在一台机器上搭建Redis伪集群(同个IP,不同端口号)。
一、安装Redis集群依赖环境:
1.安装ruby+ruby包管理器:
(1)换ruby的yum源:
[root@www ~]# yum install centos-release-scl-rh
[root@www ~]# yum install rh-ruby23 -y
[root@www ~]# scl enable rh-ruby23 bash
(2)安装ruby包管理器:
[root@www ~]# yum install rubygems
2.安装ruby运行时依赖包redis-x.x.x.gem:
(1)下载redis-x.x.x.gem,并用Xftp上传到/root目录下:
下载地址:https://rubygems.org/gems/redis/versions/,选最新版,如图所示:
(2)安装redis-x.x.x.gem:
[root@www ~]# gem install redis-x.x.x.gem
二、Redis集群搭建:
0.先进行Redis安装(第一、二、三章,先不要启动):
[root@www ~]# mkdir redis-cluster
2.复制redis到集群目录(cd到/usr/local目录):
[root@www local]# cp redis/ redis-cluster/redis01 -r
3.删除.rdb和.aof数据文件(cd到/usr/local/redis-cluster/redis01/work目录):
[root@www work]# rm -rf *.rdb *.aof
4.redis.conf中打开集群配置,修改端口号(cd /usr/local/redis/,vi redis.conf):
[root@www redis]# vi redis.conf
内容如下:
port 9001 #剩余节点端口号为port 9002、port 9003、port 9004、port 9005、port 9006
cluster-enabled yes #打开集群
cluster-config-file nodes-6379.conf #集群中单个节点的配置文件,此处配置后系统会自动管理
cluster-node-timeout 5000 #master节点超时时间,超时后主备切换
appendonly yes #开启AOF
5.将redis01再复制5份:
[root@www redis-cluster]# cp redis01 redis02 -r
[root@www redis-cluster]# cp redis01 redis03 -r
[root@www redis-cluster]# cp redis01 redis04 -r
[root@www redis-cluster]# cp redis01 redis05 -r
[root@www redis-cluster]# cp redis01 redis06 -r
redis.conf中修改端口号分别为port 9002、port 9003、port 9004、port 9005、port 9006
三、Redis集群启动:
1.创建批量启动.sh文件(cd到/usr/local/redis-cluster目录):
[root@www redis-cluster]# vi redis-cluster-start.sh
内容如下:
cd /usr/local/redis-cluster/redis01/bin
./redis-server redis.conf
cd /usr/local/redis-cluster/redis02/bin
./redis-server redis.conf
cd /usr/local/redis-cluster/redis03/bin
./redis-server redis.conf
cd /usr/local/redis-cluster/redis04/bin
./redis-server redis.conf
cd /usr/local/redis-cluster/redis05/bin
./redis-server redis.conf
cd /usr/local/redis-cluster/redis06/bin
./redis-server redis.conf
2.创建批量停止.sh文件(cd到/usr/local/redis-cluster目录):
[root@www redis-cluster]# vi redis-cluster-stop.sh
文件内容如下:
cd /usr/local/redis-cluster/redis01/bin
./redis-cli -p 9001 shutdown
cd /usr/local/redis-cluster/redis02/bin
./redis-cli -p 9002 shutdown
cd /usr/local/redis-cluster/redis03/bin
./redis-cli -p 9003 shutdown
cd /usr/local/redis-cluster/redis04/bin
./redis-cli -p 9004 shutdown
cd /usr/local/redis-cluster/redis05/bin
./redis-cli -p 9005 shutdown
cd /usr/local/redis-cluster/redis06/bin
./redis-cli -p 9006 shutdown
3.设置批量启动与停止文件的权限(cd到/usr/local/redis-cluster目录):
[root@www redis-cluster]# chmod u+x redis-cluster-start.sh
[root@www redis-cluster]# chmod u+x redis-cluster-stop.sh
4.启动/停止6个Redis(cd到/usr/local/redis-cluster目录):
[root@www redis-cluster]# ./redis-cluster-start.sh
[root@www redis-cluster]# ./redis-cluster-stop.sh
5.将redis-cli复制到集群目录(cd到/root/redis-x.x.x/src目录):
[root@www src]# cp redis-cli /usr/local/redis-cluster/redis-cli -r
6.使用redis-cli搭建集群(cd到/usr/local/redis-cluster目录):
[root@www redis-cluster]# ./redis-cli --cluster create 192.168.233.129:9001 192.168.233.129:9002 192.168.233.129:9003 192.168.233.129:9004 192.168.233.129:9005 192.168.233.129:9006 --cluster-replicas 1
四、连接Redis集群(和单个一样):
1.连接redis01(cd到/usr/local/redis-cluster/redis01/bin目录):
[root@www bin]# ./redis-cli -h 192.168.233.129 -p 9001