redis集群是一个由多个主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。Redis集群不需要sentinel哨兵也能完成节点移除和故障转移的功能。需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展,据官方文档称可以线性扩展到上万个节点(官方推荐不超过1000个节点)。redis集群的性能和高可用性均优于之前版本的哨兵模式,且集群配置非常简单
安装虚拟机:此步骤省略。具体可参考博主另外一篇文章《搭建centos7虚拟机》https://blog.csdn.net/qq_34042417/article/details/104121535
安装好虚拟机后能够访问外网可以ping通www.baidu.com即可。
连接虚拟机:
redis安装
下载地址:http://redis.io/download 安装步骤:
# 新建mkdir redis
# 进入cd redis
# 把下载好的redis-5.0.2.tar.gz放在/usr/local/lanbing文件夹下,并解压
#wget http://download.redis.io/releases/redis-5.0.4.tar.gz
#tar xzf redis-5.0.4.tar.gz
# 进入到解压好的redis-5.0.4目录下,进行编译与安装
#make & make install
如果出现该错误
执行命令:make MALLOC=libc后再执行make & make install
#修改redis.conf里的daemonize改为yes)
# 启动并指定配置文件 src/redis-server redis.conf
# 验证启动是否成功 ps -ef | grep redis
# 进入redis客户端 /usr/local/lanbing/redis-5.0.4/src/redis-cli
# 退出客户端 quit
# 关闭redis进程
ps -ef | grep redis
Kill -9 进程号
redis集群搭建
redis集群需要至少要三个master节点,我们这里搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个redis节点,这里用三台机器部署6个redis实例,每台机器一主一从,搭建集群的步骤如下:
第一步:在第一台机器的/usr/local/lanbing下创建文件夹redis-cluster,然后在其下面分别创建2个文件夾如下
1.mkdir -p /usr/local/lanbing/redis-cluster
2.mkdir redis-cluster/8001、 mkdir redis-cluster/8004
3.把之前的redis.conf配置文件copy到8001下
4.cp redis-5.0.4/redis.conf redis-cluster/8001
5.重命名为mv redis.conf redis-8001.conf
第二步修改如下内容 redis-cluster/8001/redis-8001.conf
1. daemonize yes
2. port 8001(分别对每个机器的端口号进行设置)
3. dir /usr/local/lanbing/redis-cluster/8001/(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)
4. cluster-enabled yes(启动集群模式)
5. cluster-config-file nodes-8001.conf(集群节点信息文件,这里800x最好和port对应上)(6)cluster-node-timeout 5000
6. # bind 127.0.0.1(去掉bind绑定访问ip信息)
8. appendonly yes
9. requirepass lanbing (设置redis访问密码)
10. masterauth lanbing (设置集群节点间访问密码,跟上面一致)
第三步:把修改后的配置文件,copy到8004,修改第2、3、5项里的端口号,可以用批量
启动进程
/usr/local/redis/redis-5.0.4/src/redis-server /usr/local/redis/redis-cluster/8001/redis-8001.conf
/usr/local/redis/redis-5.0.4/src/redis-server /usr/local/redis/redis-cluster/8004/redis-8004.conf
启动成功,这台机器就已安装完毕。
第四步:
修改第二台虚拟机配置
#cd /usr/local/lanbing/redis-cluster
重命名文件夹mv 8001 8002、 mv 8004 8005
修改8002下redis-8001.conf文件重命名redis-8002.conf将8001全部改成8002
修改8005下redis-8004.conf文件重命名redis-8005.conf将8004全部改成8005
修改第三台虚拟机配置
#cd /usr/local/lanbing/redis-cluster
重命名文件夹mv 8001 8003、 mv 8004 8006
修改8003下redis-8001.conf文件重命名redis-8003.conf将8001全部改成8003
修改8006下redis-8004.conf文件重命名redis-8006.conf将8004全部改成8006
启动第一台虚拟机redis01的redis:
/usr/local/lanbing/redis-5.0.4/src/redis-server /usr/local/lanbing/redis-cluster/8001/redis-8001.conf
/usr/local/lanbing/redis-5.0.4/src/redis-server /usr/local/lanbing/redis-cluster/8004/redis-8004.conf
启动第二台虚拟机redis02的redis:
/usr/local/lanbing/redis-5.0.4/src/redis-server /usr/local/lanbing/redis-cluster/8002/redis-8002.conf
/usr/local/lanbing/redis-5.0.4/src/redis-server /usr/local/lanbing/redis-cluster/8005/redis-8005.conf
启动第三台虚拟机redis03的redis:
/usr/local/lanbing/redis-5.0.4/src/redis-server /usr/local/lanbing/redis-cluster/8003/redis-8003.conf
/usr/local/lanbing/redis-5.0.4/src/redis-server /usr/local/lanbing/redis-cluster/8006/redis8006.conf
第六步:用redis-cli创建整个redis集群(redis5以前的版本集群是依靠ruby脚本redis-trib.rb实现)
/usr/local/redis-5.0.4/src/redis-cli -a lanbing --cluster create --cluster-replicas 1 192.168.0.61:8001 192.168.0.62:8002 192.168.0.63:8003 192.168.0.61:8004 192.168.0.62:8005 192.168.0.63:8006 代表为每个创建的主服务器节点创建一个从服务器节点
第七步:验证集群:
1. 连接任意一个客户端即可:./redis-cli -c -h -p (-a访问服务端密码,-c表示集群模式,指定ip地址和端口号)如:/usr/local/lanbing/redis-5.0.4/src/redis-cli -a zhuge -c -h 192.168.0.61 -p 8002
2. 进行验证: cluster info(查看集群信息)、cluster nodes(查看节点列表)
到此为止redis高可用集群已经搭建好了。