redis集群部署
以下是基于redis6.2.14版本搭建集群,最开始只配置了主、从节点,应改是不正确的。
redis 集群最少要6个节点,正常情况下需要6台服务器,如:ip1:6380 ip2:6381 ip3:6382 ip4:6383 ip5:6384 ip6:6385,可以虚拟节点,一台机器启动多个端口。
1、确认redis安装成功
修改redis.conf,端口号改成 6380。
2、启动 redis
(/src/redis-server redis.conf),检查 redis 是否启动(ps -ef|grep redis),检査6380 端口是否启动成功,成功则准备下一台。
3、修改redis_6380.conf配置
启动成功后杀进程( kil -9 xXX),先创建文件夹( mkdir cluster-data )修改 redis.conf并,修改以下几处地方(此处建立了 cluster-data 文件夹,便于放集群生成数据,也可以不要,不过要与下面的路径对应):
redis_6380.conf修改一下配置
##当前服务器ip地址
bind 10.187.66.80
## 保护模式?
protected-mode no
## 端口
port 6380
## 超时时间
timeout 300
##指定Redis服务器是否以守护进程方式运行。
daemonize yes
## 指定当Redis以守护进程方式运行时,进程ID文件的存放位置
pidfile /home/root/redis-6.2.14/cluster-data/redis6380.pid
## 日志文件
logfile /home/root/redis-6.2.14/cluster-data/redis6379.1og
## 指定了Redis用于保存持久化数据的目录
dir /home/root/redis6.2.14/cluster-data
##表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
appendfsync always
## 开启集群功能
cluster-enabled yes
##集群配置文件”,但是此配置不能人工编辑,它是集群节点自动维护的文件,主要用于记录集群中有哪些节点、他们的状态以及一些持久化参数等,方便在重启时恢复这些状态。通常是在收到请求之后这个文件就会被更新
cluster-config-file node-6380.conf
##本地数据库文件名
dbfilename dump-6379.rdb
4、验证redis启动方式
保存退出,启动 ./src/redis-server /home/root/redis-6.2.14/redis_6380.conf
检查 redis 进行是不是以 cluster方式启动的(ps -ef | grep redis),进程后级显示[cluster]即可。
5、其他机器配置文件
按以上操作,继续修改其他6381、6382、6383、6384、6385 对应配置文件
6、拷贝redis-6.2.14安装文件
将 redis-6.2.14拷贝到其他服务器(如果其他服务器路径不一样,则对应修改 conf 里面的路径)修改redis 6379.conf和 redis_6380.conf里面 ip,改成当前服务器的 ip,保存退出即可。
7、启动所有redis分机器服务
启动六台服务器上的 redis对应端口的服务。
8、创建集群
使用 redis-cli 工具创建集群,随意进一个服务器的 redis-6.2.14/src,执行命令
–cluster-replicas 1 表示为集群中的每个master节点创建一个slave节点
.redis-cli --cluster create ipl:6379 ip1:6380 ip2:6379 ip3:6380 ip4:6379 ip3:6380 --cluster-replicas 1
9、检查集群启动情况
./redis-cli -h 10.187.66.80 -p 6380
cluster nodes
cluster info
显示结果 cluster state 显示 OK 即完成
10、redis连接配置
redis :
password:
timeout: 30
cluster: max-redirects:6 #获取失败,最大重定向次数
nodes:10.187.66.80:6380,10.187.66.81:6381,10.187.66.82:6382,10 .187:66.83:6383,10.187.66.84:6384,10.187.66.85:6385
lettuce:
pool: max-total:50 #redis连接池配置
max-wait-millis: 10000#等体可用注接的最大时网,负数为不限制lettuce的key与以前不同了
max-idle: 10
min-idle: