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

posted @ 2020-09-15 15:47  zpp13  阅读(63)  评论(0编辑  收藏  举报