redis cluster安装及配置

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

1.准备节点

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

先配置7000端口

170109_qqFJ_3371837.png

这里说明下cluster相关的配置

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

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

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

接着配置其他节点 (同7000)

170900_2EnM_3371837.png

接着启动所有节点

171656_87uX_3371837.png

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

171833_aWvf_3371837.png

这里因为我们未分配槽,集群是不可用的,可以输入cluster info命令看下集群的状态

172014_8e8l_3371837.png

2.节点握手

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

181328_I6XE_3371837.png

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

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

再执行下cluster info命令观察:

181551_1hpf_3371837.png

两个节点都发现有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~5461、5462~10922、三个范围。

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

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

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

100142_tqnH_3371837.png

100335_Q4F4_3371837.png

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

100415_Htqi_3371837.png

4.配置主从

配置方式:在选择的从节点上执行 cluster replicate 【nodeId】,nodeId可以通过cluster nodes获得

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

104145_wlgr_3371837.png

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

104316_ehZC_3371837.png

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

转载于:https://my.oschina.net/u/3371837/blog/1795011

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值