搭建集群
搭建集群有两种方法:
- 使用源码附带的集群自动搭建程序
- 配置文件手动搭建集群
自动搭建集群
create-cluster程序位于源码的utils/create-cluster/create-cluster位置
通过start命令创建6个节点:
使用create命令把6个节点组合成一个集群,包括3个主节点和3个从节点
create时的bug
报错:
集群需要配置Ruby环境:
之前报错就是缺redis.gem文件,gem是Ruby的包管理工具
OK了
create命令会根据现有节点制定出一个响应的角色和槽分配计划,会询问一下你的意见。
这里是30001、30002、30003被设置为主节点,分别负责槽0 ~5460、5461 ~ 10922、10923 ~ 16383,30004、30005、30006分别设置为以上3个节点的从节点。
成功构建集群后,就可以使用客户端来连接和使用集群。
关闭集群,清理节点信息:
手动搭建集群
搭建一个3个主节点和3个从节点组成的Redis集群。
创建6个文件夹,用于存放相应节点数据和配置文件。
每个文件夹里创建一个redis.conf文件
redis.conf里的内容:
cluster-enabled yes
port 30001
(这里初始只有redis.conf文件,截图的时候集群已经搭完了)
启动6个节点:
连接6个节点,并为它们分配槽:
不过这里出现了报错,原因是redis-5.0.0版本开始才支持“–cluster”。
解决版本bug
升级吧……
把原本4.0.10的文件全删除然后又安装了6.0.8版本,不过又有bug了,默认的版本还是4.0.10,可能和环境变量有关吧。
使环境变量生效:
设置了环境变量还是不行。
是安装的最后一步忘记make install了😂
解决了问题继续搭建集群~
执行命令:redis-cli --cluster create 127.0.0.1:30001 127.0.0.1:30002 127.0.0.1:30003 127.0.0.1:30004 127.0.0.1:30005 127.0.0.1:30006 --cluster-replicas 1
这样就成功了,打印的信息可以看到具体的分配情况。
如果想重新搭建集群,先将下图30001~30006的server的PID给kill
然后再将一个个节点重新redis-server redis.conf
启动