redis cluster安装及配置

原生命令搭建redis cluster 分布式3主3从node

1.准备节点

这里演示单机多部署(生产环境多机)首先准备6个节点分别是7000-7005端口redis

先配置7000端口shell

这里说明下cluster相关的配置bash

cluster-enabled表示该节点是否开启cluster模式分布式

cluster-config-file 是生成本地cluster的一个配置文件ui

cluster-require-full-coverage 这个是说,若是集群中有一个节点挂掉,整个集群将不可用 默认yes 这里改为 no,即某节点挂掉,集群依然对外提供服务。spa

接着配置其余节点 (同7000)code

接着启动全部节点ip

这里咱们随便选择一个节点set数据,发现报了个错部署

这里由于咱们未分配槽,集群是不可用的,能够输入cluster info命令看下集群的状态

2.节点握手

将节点配置启动后,接下来就要进行节点握手(meet操做)

在节点上执行cluster meet ip port 对集群中某节点进行握手操做

cluster nodes命令列出集群中全部节点发现6个,其中7000是master节点

再执行下cluster info命令观察:

两个节点都发现有6个节点,表名集群中全部节点都已经互通完毕。

3.分配槽

分配槽的命令是 cluster addslots 【slot】其中slot参数就是槽节点一次只能分配一个,若是咱们要为7000节点分配0~5000这个范围的槽,要执行5000次命令,所以须要写一个shell脚原本完成分配槽:

start=$1
end=$2
port=$3
for slot in `seq ${start} ${end}`
do
  echo "slot:${slot}"
  redis-cli -p ${port} cluster addslots ${slot}
done

cluster一共有16384个槽(0-16383) 所以为了平均分配到3个节点(7000-7002是主,7003-7005是从),咱们计划16384/3 也就是分别为 0~546一、5462~1092二、三个范围。

接下来咱们执行分配槽脚本:

sh addslots.sh 0 5461 7000
sh addslots.sh 5462 10922 7001
sh addslots.sh 10923 16383 7002

执行cluster nodes和cluster info查看,全部槽已经分配完毕。

这时候咱们set一个值就成功了

4.配置主从

配置方式:在选择的从节点上执行 cluster replicate 【nodeId】,nodeId能够经过cluster nodes得到

执行完后看下节点状态,发现主从关系已经有了

输入cluster slots能够看到槽的分配以及主从

至此,原生手动安装方式演示完毕!

相关文章
相关标签/搜索