一、修改配置文件

#启动端口

port 5001

#后台运行

daemonize yes

#进程ID文件存放位置

pidfile /var/run/redis_6379.pid

#日志ID文件存放位置

logfile /home/whqlkj/redis-cluster/5001/redis-server.log

#数据文件存放位置

dir /home/whqlkj/redis-cluster/5001/

#AOF持久化

appendonly yes

#打开集群

cluster-enabled yes

#集群配置文件

cluster-config-file nodes-6379.conf

#集群配置文件

cluster-config-file nodes-5001.conf

#集群节点超时时间

cluster-node-timeout 15000

二、启动各节点服务

本文只列举一个实例

$redis-server /home/zrj/redis-cluster/5001/redis.conf

三、创建集群

$ redis-cli --cluster create 192.168.8.196:5001 \
192.168.8.196:5002 \
192.168.8.196:5003 \
192.168.8.196:5004 \
192.168.8.196:5005 \
192.168.8.196:5006 \
--cluster-replicas 1

四、使用及查看集群状态

#客户端进入集群方式

redis-cli
-c Enable cluster mode 开启集群模式
-h <hostname> Server hostname (default: 127.0.0.1).
-p <port> Server port (default: 6379).

#使用实操

$ redis-cli -c -h 192.168.8.196 -p 5001
192.168.8.196:5001> set name zhangsan
-> Redirected to slot [5798] located at 192.168.8.196:5002
OK
192.168.8.196:5002> get name
"zhangsan"

#查看集群状态

$cluster info

解释:

cluster_state:ok

#clusterstate: ok状态表示集群可以正常接受查询请求。fail 状态表示,至少有一个哈希槽没有被绑定(说明有哈希槽没有被绑定到任意一个节点),或者在错误的状态(节点可以提供服务但是带有FAIL 标记),或者该节点无法联系到多数master节点。

cluster_slots_assigned:16384

#cluster_slots_assigned: 已分配到集群节点的哈希槽数量(不是没有被绑定的数量)。16384个哈希槽全部被分配到集群节点是集群正常运行的必要条件。

cluster_slots_ok:16384

#cluster_slots_ok: 哈希槽状态不是FAIL 和 PFAIL 的数量.

cluster_slots_pfail:0

#哈希槽状态是 PFAIL的数量。只要哈希槽状态没有被升级到FAIL状态,这些哈希槽仍然可以被正常处理。PFAIL状态表示我们当前不能和节点进行交互,但这种状态只是临时的错误状态。

cluster_slots_fail:0

#哈希槽状态是FAIL的数量。如果值不是0,那么集群节点将无法提供查询服务,除非cluster-require-full-coverage被设置为no .

cluster_known_nodes:6

#集群中节点数量,包括处于握手状态还没有成为集群正式成员的节点.

cluster_size:3

#至少包含一个哈希槽且能够提供服务的master节点数量.

cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:44701
cluster_stats_messages_pong_sent:39531
cluster_stats_messages_sent:84232
cluster_stats_messages_ping_received:39526
cluster_stats_messages_pong_received:44701
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:84232

#查看集群节点

$cluster nodes

通过该信息可以查看到各节点之前的主从关系

b3363a81c3c59d57143cd3323481259c044e66d2 192.168.8.196:5006@15006 slave 1b7aa419065c5477c0def9d5e25106963fbdda76 0 1572917132045 6 connected
9dc870942555447543694e42e40061823ed91271 192.168.8.196:5004@15004 slave d1a4b1aa3e924a5917efc240cdb2e3ada39e01c2 0 1572917130038 4 connected
1b7aa419065c5477c0def9d5e25106963fbdda76 192.168.8.196:5003@15003 master - 0 1572917131041 3 connected 10923-16383
b1b67d4e554e29605bdbe40deab6670a42dd8836 192.168.8.196:5002@15002 master - 0 1572917130000 2 connected 5461-10922
fbf9f23ecf0fea399debf7db42c73fece04b98fd 192.168.8.196:5005@15005 slave b1b67d4e554e29605bdbe40deab6670a42dd8836 0 1572917131000 5 connected
d1a4b1aa3e924a5917efc240cdb2e3ada39e01c2 192.168.8.196:5001@15001 myself,master - 0 1572917127000 1 connected 0-5460