四.RedisCluster-Windows搭建
1.概述
- Redis官网的最新版本是7.0,但是并没有适配Windows版本。windows版本一直都是微软在进行维护,不过不会是最新版本,是基于Redis的稳定版本制作,本文编写时GitHub上Windows版本最新版为5.0.14.1
- Redis官方网址:redis.io/download/
- 微软Github网址:github.com/tporadowski…
- 建议使用5.0.14,因为5.0.14.1搭建集群时,从节点会报以下错误,具体原因未知,如果有知道的看官老爷可以评论区告知,感谢!!!
2.实战
- 第一步:Github下载5.0.14版本Redis
- 第二步:创建一个文件夹,将下载好的压缩包解压到一个文件夹中,并复制5份,以端口号命名,代表6个节点,最少6个节点,三主三从
- 第三步:修改每个文件夹中的redis.windows.conf文件,修改以下几个地方,注意每个节点配置文件端口需要按照节点自己的端口号进行配置,其他参数各位可以视情况进行修改。可以修改一份后拷贝到每个文件夹中,然后修改两处端口号即可
# 是否开启保护模式,yes时外部访问redis需要配置bind ip或访问密码,线上建议开启 protected-mode no # 每个redis的端口都需要不同 port 6379 # 是否开启集群 cluster-enabled yes # 该参数指定了集群配置文件的位置。每个节点在运行过程中,会维护一份集群配置文件 # 每当集群信息发生变化时比如增删节点,集群内所有节点会将最新信息更新到该配置文件 # 当节点重启后,会重新读取该配置文件,获取集群信息,可以方便的重新加入到集群中 # 此集群配置文件redis节点会自行维护,注意修改端口号 cluster-config-file nodes-6379.conf # 集群节点不可用的最大时间,单位是毫秒,如果主节点在指定时间内不可达,那么会进行故障转移 cluster-node-timeout 15000 # 云服务器上部署需指定公网ip,或者Linux系统中的Docker运行时需要指定宿主机Ip # cluster-announce-ip 公网ip地址 # 开启AOF持久化 appendonly yes # AOF持久化文件名称 appendfilename "appendonly.aof" # 设置节点密码,注意所有节点密码必须一致 requirepass 123456 # 主节点连接密码,用于保护集群,保持与requirepass一致即可 masterauth 123456
- 第四步:使用命令根据配置文件启动所有节点,此时只是启动所有节点,但是没有启动集群
redis-server.exe redis.windows.conf
- 也可以编写启动脚本,在每个节点文件夹里面放置一个此bat文件,双击脚本即可启动节点
- 第五步:在任意一个集群节点目录下执行命令启动集群
- --cluster-replicas 1:一个主节点有一个从节点
- -a:此属性指定集群节点密码,如果没有配置密码则不需要此属性
- 注意:第一次需要执行创建集群命令,创建成功后续如果再想打开集群,那么启动所有节点即可,无需再次执行创建集群命令
redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1 -a 123456
- 此处会询问我们是否接受他分配的节点主从关系以及HashSlot,我们输入yes即可
- 第六步:测试
- 注意:在创建集群之前一定不能连接节点,否则会创建集群失败
# 连接集群节点,可以连接启动的任意节点 -a 是指定节点密码 redis-cli.exe -c -h 127.0.0.1 -p 6379 -a 123456 # 查看集群信息 cluster info # 查看当前Redis节点 info replication # 查看当前节点槽位 cluster nodes
- keys命令只能查当前节点,但是get、set命令可以操作所有节点