redis高可用集群搭建
一、redis安装
CentOS7 安装 Redis 单实例:https://gper.club/articles/7e7e7f7ff7g5egc4g6b Docker
安装 redis集群:https://gper.club/articles/7e7e7f7ff7g5egc5g6c
下载地址:http://redis.io/download
安装步骤:
#安装gcc
yum install gcc
把下载好的redis-5.0.2.tar.gz放到/usr/local文件夹下,并解压:
wget http://download.redis.io/releases/redis-5.0.2.tar.gz
然后解压:tar -xzvf redis-5.0.2.tar.gz
进入解压之后的文件夹:cd redis-5.0.2
进入到解压好的文件夹之后,进行编译与安装:make & make install
如果编译报错error: …/deps/jemalloc/lib/libjemalloc.a: No such file or directory,则make MALLOC=libc 加参数重新编译
启动并指定配置文件
src/redis-server redis.conf(注意要使用后台启动,所以要修改redis.conf里的daemonize改为yes);
验证启动是否成功:ps -ef|grep redis
进入redis客户端:src/redis-cli
退出客户端:quit
退出redis服务
(1) pkill redis-server
(2) kill 进程号
(3) src/redis-cli shutdown
二、redis集群搭建
redis集群需要至少三个master节点,我们搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个节点,这里用三台机器部署6个redis实例,
每台机器一主一从,搭建集群的步骤如下:
第一步:在第一台机器的/usr/local下创建文件夹redis-cluster,然后在其下面分别创建2个文件夹
1)mkdir -p /usr/local/redis-cluster
2) mkdir 8001、mkdir 8004
第二步:把之前的redis.conf配置文件copy到8001下,修改如下内容:
1)daemonize yes
2)port 8001(分别对每个机器的端口号进行设置)
3)dir /usr/local/redis-cluster/8001/(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)
4)cluster-enabled yes(启用集群模式)
5)cluster-config-file nodes-8001.conf(集群节点信息文件,这里800x最好和port对应上)
6)cluster-node-timeout 5000
7)#bind 127.0.0.1(去掉bind绑定访问ip信息)
8)protected-mode no(关闭保护模式)
9)appendonly yes
10)requirepass zhangpp(设置redis访问密码)
11)masterauth zhangpp(设置集群节点间访问密码,跟上面一致)
第三步:把修改后的配置文件,copy到8002,修改第2、3、5项里的端口号,可以用批量替换;
:%s/源字符串/目的字符串/g
第四步:另外两台机器也需要做上面几步操作,第二台机器用8002和8005,第三台机器用 8003和8006
第五步:分别启动6个redis实例,然后检查是否启动成功
1)/usr/local/redis-5.0.2/src/redis-server /usr/local/redis-cluster/800*/redis.conf
2)ps -ef|grep redis查看是否启动成功
第六步:用redis-cli创建整个redis集群(redis5以前的版本集群是依靠ruby脚本redis-trib.rb实现)
1)/usr/local/redis-5.0.2/src/redis-cli -a zhangpp --cluster create --cluster-replicas 1 192.168.86.128:8001 192.168.86.3:8002 192.168.86.4:8003 192.168.86.128:8004 192.168.86.3:8005 192.168.86.4:8006 代表为每个创建的主服务器节点创建一个从服务器节点
第七步:验证集群:
1)连接任意一个客户端即可:./redis-cli -c -h -p(-c 表示集群模式,指定ip地址和端口号)
如:/usr/local/redis-5.0.2/src/redis-cli -a zhangpp -c -h 192.168.86.128 -p 8001
2)进行验证:cluster info(查看集群信息)、cluster nodes(查看节点列表)
3)进行数据操作验证
4)关闭集群则需要逐个进行关闭,使用命令
/usr/local/redis-5.0.2/src/redis-cli -a zhangpp -c -h 192.168.86.128 -p 8001 shutdown
/usr/local/redis-5.0.2/src/redis-cli -a zhangpp -c -h 192.168.86.128 -p 8004 shutdown
/usr/local/redis-5.0.2/src/redis-cli -a zhangpp -c -h 192.168.86.3 -p 8002 shutdown
/usr/local/redis-5.0.2/src/redis-cli -a zhangpp -c -h 192.168.86.3 -p 8005 shutdown
/usr/local/redis-5.0.2/src/redis-cli -a zhangpp -c -h 192.168.86.4 -p 8003 shutdown
/usr/local/redis-5.0.2/src/redis-cli -a zhangpp -c -h 192.168.86.4 -p 8006 shutdown
redis集群删除
1)关闭所有服务器上的redis
2) 删除下列文件
3)重新启动构建即可
redis集群详解:
https://blog.csdn.net/zhouwenjun0820/article/details/105893144