windows下搭建redis三主三从集群
Redis版本
注意:搭建windows版的redis集群,redis的版本需要5.0及以上
下载
5.0版本redis下载地址:https://github.com/tporadowski/redis/releases 链接: redis5.0.14
步骤
-
redis集群遵循3主3从模式,即需要创建6个redis实例;
-
如图所示:
-
拿7000文件夹来举例:
(1) 文件夹内容:即在7000文件夹内创建一个redis-7000.conf文件即可
(2) redis-7000.conf内容:
# 绑定IP,0.0.0.0代表本机的所有IP地址
bind 0.0.0.0
# 端口号
port 7000
# 是否是守护进程
daemonize yes
# 是否开启集群
cluster-enabled yes
# 本地数据库存放路径,默认值为 ./
dir "./7000/"
# (启动自动生成)节点信息,只能是文件,不能是路径,否则启动时会报错,会创建在 dir 属性下
cluster-config-file nodes-7000.conf
cluster-node-timeout 5000
# 启用aof持久化方式
appendonly yes
# 如以后台进程运行,则需指定一个pid,默认为/var/run/redis.pid
pidfile redis_7000.pid
# 密码,不加这个,在项目启动时,会报ERR Client sent AUTH, but no password is set异常
requirepass 1234(自己的密码)
# 指定日志输出的文件名,可设为/dev/null屏蔽日志 ,window下很恶心,必须得绝对路径,你要是写相对路径报错 Can't open the log file: No such file or directory
logfile "D:/tools/redis_cluster_6/7000/7000.log"
4. 在redis的根目录下创建start7000.bat-start7005.bat文件,该文件用来存放该redis实例启动的脚本,脚本内容如下:
redis-server.exe ./7000/redis-7000.conf
启动
-
双击每个.bat 一次启动7000-7005这6个redis实例;
-
集群搭建,在redis目录下(start7000.bat文件同级目录),cmd运行以下命令:
redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1 -a 1234 Password
启动好之后开始创建集群模式。redis-cli很方便。cluster-replicas 的意思是 为每个master创建一个副本
查看集群状态
redis-cli -h 127.0.0.1 -p 6380 -c
auth 1234(密码)
cluster info
创建脚本一键启动,比如脚本名称startcluster.bat
start "redis-7000" cmd /k "cd /d D:\tool\Redis\redis_cluster_6 && redis-server.exe ./7000/redis-7000.conf"
start "redis-7001" cmd /k "cd /d D:\tool\Redis\redis_cluster_6 && redis-server.exe ./7001/redis-7001.conf"
start "redis-7002" cmd /k "cd /d D:\tool\Redis\redis_cluster_6 && redis-server.exe ./7002/redis-7002.conf"
start "redis-7003" cmd /k "cd /d D:\tool\Redis\redis_cluster_6 && redis-server.exe ./7003/redis-7003.conf"
start "redis-7004" cmd /k "cd /d D:\tool\Redis\redis_cluster_6 && redis-server.exe ./7004/redis-7004.conf"
start "redis-7005" cmd /k "cd /d D:\tool\Redis\redis_cluster_6 && redis-server.exe ./7005/redis-7005.conf"
知识拓展
- redis密码设置:
打开客户端,输入以下命令:
## 设置密码
config set requirepass "密码"
##回车后,输入以下命令:
AUTH "密码"
## 获取密码
config get requirepass