Redis集群Cluster搭建
- 集群框架
- 1、下载redis
- 2.创建Cluster文件
- 3.修改redis配置文件
- 4.启动redis
- 5.链接各个redis
- 6.分配槽位
- 7.添加从机节点(备份Redis)
- 8.以集群方式登录
- 9.使用开源Redis可视化客户端链接
集群框架
三个集群节点,每个节点有个副本节点备份数据
1、下载redis
yum -y install redis
2.创建Cluster文件
cd root
mkdir cluster
cd cluster
//创建6个文件夹
mkdir node{1,2,3,4,5,6}
3.修改redis配置文件
Master1
1.bind 192.168.1.5 //主机地址
2.protected-mode no //非守护模式
3.port 6379 //运行端口
4.daemonize yes //后台运行
5.cluster-enabled yes (文件68%的位置) //开启集群
6.cluster-config-file nodes-6379.conf //集群配置文件
7. cluster-node-timeout 15000 //集群超时时间
Master2
1.bind 192.168.1.5 //主机地址
2.protected-mode no //非守护模式
3.port 6380 //运行端口
4.daemonize yes //后台运行
5.cluster-enabled yes (文件68%的位置) //开启集群
6.cluster-config-file nodes-6380.conf //集群配置文件
7. cluster-node-timeout 15000 //集群超时时间
Master3
1.bind 192.168.1.5 //主机地址
2.protected-mode no //非守护模式
3.port 6381 //运行端口
4.daemonize yes //后台运行
5.cluster-enabled yes (文件68%的位置) //开启集群
6.cluster-config-file nodes-6381.conf //集群配置文件
7. cluster-node-timeout 15000 //集群超时时间
Slave1
1.bind 192.168.1.5 //主机地址
2.protected-mode no //非守护模式
3.port 6382 //运行端口
4.daemonize yes //后台运行
5.cluster-enabled yes (文件68%的位置) //开启集群
6.cluster-config-file nodes-6382.conf //集群配置文件
7. cluster-node-timeout 15000 //集群超时时间
Slave2
1.bind 192.168.1.5 //主机地址
2.protected-mode no //非守护模式
3.port 6383 //运行端口
4.daemonize yes //后台运行
5.cluster-enabled yes (文件68%的位置) //开启集群
6.cluster-config-file nodes-6383.conf //集群配置文件
7. cluster-node-timeout 15000 //集群超时时间
Slave3
1.bind 192.168.1.5 //主机地址
2.protected-mode no //非守护模式
3.port 6384 //运行端口
4.daemonize yes //后台运行
5.cluster-enabled yes (文件68%的位置) //开启集群
6.cluster-config-file nodes-6384.conf //集群配置文件
7. cluster-node-timeout 15000 //集群超时时间
4.启动redis
redis-server /root/cluster/node1/redis.conf
redis-server /root/cluster/node2/redis.conf
redis-server /root/cluster/node3/redis.conf
redis-server /root/cluster/node4/redis.conf
redis-server /root/cluster/node5/redis.conf
redis-server /root/cluster/node6/redis.conf
5.链接各个redis
//打开Master1的Cli
redis-cli -h 192.168.1.5 -p 6379 (一台master执行就行)
//建立集群链接,和大家打招呼
CLUSTER MEET 192.168.1.5 6380
CLUSTER MEET 192.168.1.5 6381
CLUSTER MEET 192.168.1.5 6382
CLUSTER MEET 192.168.1.5 6383
CLUSTER MEET 192.168.1.5 6384
//验证集群链接状态
redis-cli -h 192.168.1.5 -p 6379 cluster nodes
//查看集群信息,这里会显示fail,因为集群还没有分配槽位,所以失败
redis-cli -h 192.168.1.5 -p 6379 cluster info
6.分配槽位
如果遇到【Error】如下
“slot *** is busy”
集群存在脏数据需要再三台Master执行以下三个命令
redis-cli -h 192.168.1.5 -p 6379
flushall
cluster reset
//分配给三台Master槽位
redis-cli -h 192.168.1.5 -p 6379 cluster addslots {0..5461}
redis-cli -h 192.168.1.5 -p 6380 cluster addslots {5462..10922}
redis-cli -h 192.168.1.5 -p 6381 cluster addslots {10923..16383}
redis-cli -h 192.168.1.5 -p 6379 cluster nodes 验证成功信息如下
7.添加从机节点(备份Redis)
//查看各个节点信息 ,6379-6381Master,6382-6384从机
redis-cli -h 192.168.1.5 -p 6379 cluster nodes
//设置Master1节点的从机replicate1
redis-cli -h 192.168.1.5 -p 6382(slave1端口) cluster replicate da174c5c6f56db1665b95a76b510780c26ccd13f(Master1节点ID)
//设置Master2节点的从机replicate2
redis-cli -h 192.168.1.5 -p 6383 cluster replicate 4e241c079da23ed3eaae7df2599cf7679765230c
//设置Master2节点的从机replicate2
redis-cli -h 192.168.1.5 -p 6384 cluster replicate a4136a827a810e4ceae6113d81c873c11445d5b5
设置后查看节点信息,成功画面如下
8.以集群方式登录
//只能查看单台机器的数据
redis-cli -h 192.168.1.5 -p 6379
//查看整个集群的数据
redis-cli -h 192.168.1.5 -p 6379 -c
设置第一个数据
当我们再次设置时,集群会根据CRC计算改数据存放到那个槽位,
在集群链接模式下,能访问到所有节点所有槽位的数据
9.使用开源Redis可视化客户端链接