Redis集群(Cluster)模式

Eave 2015.10.16

Redis集群至少需要6个节点,3个主节点,3个从节点

一、每个节点安装Redis

安装方法:Redis7在Linux下的安装

二、配置Redis文件

文件路径/usr/local/redis/etc/cluster/6379.conf

基本配置见Redis安装教程

集群配置修改如下

# 集群配置
cluster-enabled yes # 开启集群模式
cluster-config-file /usr/local/redis/etc/nodes/6379.conf # 集群状态文件,Redis自动维护
cluster-node-timeout 15000 # 节点超时时间,单位毫秒

# 可选:设置密码(所有节点密码必须一致!)
# requirepass your_secure_password
# masterauth your_secure_password

# 可选:禁用危险命令,增加安全性
rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command KEYS ""

三、启动Redis实例

/usr/local/redis/bin/redis-server /usr/local/redis/etc/cluster/6379.conf
/usr/local/redis/bin/redis-server /usr/local/redis/etc/cluster/6380.conf
/usr/local/redis/bin/redis-server /usr/local/redis/etc/cluster/6381.conf
/usr/local/redis/bin/redis-server /usr/local/redis/etc/cluster/6382.conf
/usr/local/redis/bin/redis-server /usr/local/redis/etc/cluster/6383.conf
/usr/local/redis/bin/redis-server /usr/local/redis/etc/cluster/6384.conf

查看Redis实例启动情况

pgrep -fl redis

四、创建集群

/usr/local/redis/bin/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

--cluster-replicas 1:表示为每个主节点分配1个从节点。

如果有设置密码

/usr/local/redis/bin/redis-cli -a 密码 --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

执行命令后,redis-cli 会提出一个节点分配方案。 检查确认主从关系是否正确,如果正确,输入 yes 并回车。

五、进入集群环境

使用 -c 参数以集群模式连接任意一个节点

/usr/local/redis/bin/redis-cli -c -h 127.0.0.1 -p 6379

检查集群状态

127.0.0.1:6379> cluster info # 关注 cluster_state: ok 这一项
127.0.0.1:6379> cluster nodes # 列出集群中所有节点的状态、角色(master/slave)和它们负责的槽位[citation:6][citation:8]