Redis4.0高可用集群模式搭建
Redis集群需要至少要三个master节点,因为选举模式,节点数必须是基数
所以:
1个master-1个slave,redis集群需要6个节点
1个master-2个slave,redis集群需要9个节点,以此类推。
这里搭建三个master节点,并且给每个master再搭建一个 slave , 共6个redis节点,3主3从
由于节点数较多,这里采用在一台机器上创建6个redis实例做演示
所以这里搭建的是伪集群模式:
1.环境准备工作
准备Redis安装包环境,详见 Redis单机版安装** 2.1~2.6**
2.创建集群存储目录
父目录如果没有创建请先创建父目录:mkdir /usr/local/software
3.复制并配置redis.conf
3.1 复制redis.conf 文件
3.2 复制完毕后修改如下内容
配置 | 含义 |
---|---|
daemonize yes | 后台启动 |
port 8001 | 分别对应每个机器的端口号 |
bind 192.168.0.101 | 必须绑定当前机器IP,方便redis集群定位机器,未绑定可能会出现循环查找集群节点的问题 |
dir /usr/local/software/redis-cluster/8001 | 指定数据文件存储位置,必须指定不同的位置,防止丢失或覆盖 |
cluster-enabled yes | 启动集群模式 |
cluster-config-file nodes-8001.conf | 建议与端口对应,方便区分 |
cluster-node-timeout 5000 | 节点超时时间,5秒 |
appendonly yes | 打开 aof持久化 |
如果要设置密码需要如下配置:
requirepass xxx | 设置redis访问密码 |
---|---|
masterauth xxx | 设置集群节点间访问密码,requirepass一致 |
3.3 复制配置好的redis.conf 到不同的文件夹下,并修改对应的端口
示例:复制 8001 配置文件到 8002 下
注意 :复制完需要改端口
注 : linux批量替换命令
4.分别启动6个Redis实例
4.安装Ruby
注:Redis集群从5.0.0开始不在需要安装ruby**
Redis5之前集群需要用到Ruby脚本 ,安装详见 安装ruby :传送门 (2.1~2.6)
**
5.安装Redis
注意:如果安装出现错误,请参考: 传送门 (3~4)
6.启动集群
启动redis集群需要使用 redis-trib.rb 命令
分段解释启动命令含义
./redis-trib.rb | 启动集群的命令 |
---|---|
–replicas 1 | 数字1 代表主从比例 ,由于要配置的是3主3从 则 比例=master节点数/slave节点数,如果是3主6从那么比例就是0.5 |
IP:端口 集 | 会按照设置的比例计算主节点与子节点 一共6台。比例为1 则前3台为主节点,后3台为子节点,按照顺序依次对应 8001(主) - 8004(子) 8002(主) - 8005(子) 8003(主) - 8006(子) |
到这里,redis已经搭建完毕了。
7.验证集群
集群模式下连接任意一个客户端即可, 命令 ./redis-cli -c -h xxxIP -p 800*
7.1 连接客户端
连接8001设置一个 name 值为zhangsan ,如图所示,自动分片与自动重定向
7.1 查看集群信息
注:必须要在7.1连接任意一个客户端下使用查看集群信息命令
#查看集群节点列表
7.3 验证主挂子升
再次查看集群节点,发现集群已经将 8001标记为 fail,并且8004已经升级为master
将8001再次启动后最新节点列表
原先失败的节点再次启动后,回变更为新master 的slave
8.关闭集群
若需要关闭整个集群,则需要将所有节点全部关闭。
9.撤销集群
#切换到8001目录下
如果要撤销或清除集群则需要将
nodes-8001.conf 文件删除
目录 返回
首页