Redis Cluster的安装
1、首先给两个神似的参考网址,基本看完就会,大部分也懂了
https://www.jianshu.com/p/813a79ddf932
https://blog.csdn.net/fengshizty/article/details/51368004#
总结一下,主要是
- 设置主从,将各redis加入集群
- 分配0-16683个槽供redis的算法定位使用
- 登录集群的时候,定位到哪个节点都可,只要加上 –c 参数,方便cli命令行自动进行跳转
./redis-cli -h localhost -p 6381 -a 123456 -c
2、一些注意点
- 要点redis.conf文件的配置
daemonize yes #后台启动
port 7001 #修改端口号,从7001到7006
cluster-enabled yes #开启cluster,去掉注释
cluster-config-file nodes.conf
cluster-node-timeout 15000
appendonly yes
#requirepass 123456
#masterauth 123456#protected-mode no
其中nodes.conf是redis自动生成的,记录了集群的信息,如果想要重新生成集群,需要删除之前的nodes.conf。
- 生成集群都是采用了
redis-trib
.rb这个脚本文件,但是很不幸的是,如果把上面的配置文件里面的注释去掉的话(主要为了增加密码校验),脚本失效。所以一种可行的方式是,先利用
redis-trib
.rb脚本进行生成集群,然后使用pkill –9 redis停止所有redis后增加上面的注释,增加密码校验
如果先设置了密码,则可以在每个redis实例启动后,利用redis cluster的集群管理命令,进行linux脚本批量编辑,集群管理命令的参考网址
主要关注,
1、cluster meet <ip> <port> 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子
2、cluster replicate <master_node_id> :将当前从节点设置为 node_id 指定的master节点的slave节点。只能针对slave节点操作
3、cluster addslots <slot> [slot ...] :将一个或多个槽( slot)指派( assign)给当前节点。
最后,关于槽的分配主要是把0-16683个槽,分到主节点上即可,脚本的片段可以参考如下
#!/bin/bash n=0 for ((i=n;i<=5461;i++)) do redis-cli -h 192.168.2.234 -p 6381 -a 123456 CLUSTER ADDSLOTS $i done
检验是否成功,则可以通过登录任一节点,使用cluster nodes以及set a a进行检验即可!!