主1:127.0.0.1:6379
主2:127.0.0.1:6380
主3:127.0.0.1:6381
从1:127.0.0.1:6382
从2:127.0.0.1:6383
从3:127.0.0.1:6384
1、创建配置文件
mkdir redis/6379
mkdir redis/6380
mkdir redis/6381
mkdir redis/6382
mkdir redis/6383
mkdir redis/6384
将原始配置文件复制到相应的文件下(6个),并修改以下参数
6379配置文件(redis6379.conf):
port 6379
daemonize yes
pidfile /var/run/redis_6379.pid
cluster-enabled yes
cluster-config-file nodes_6379.conf
cluster-node-time 15000
appendonly yes
6380配置文件(redis6380.conf):
port 6380
daemonize yes
pidfile /var/run/redis_6380.pid
cluster-enabled yes
cluster-config-file nodes_6380.conf
cluster-node-time 15000
appendonly yes
6381配置文件......
2、启动redis-server服务
redis-server /home/zws/redis/6379/redis6379.conf
redis-server /home/zws/redis/6380/redis6380.conf
redis-server /home/zws/redis/6381/redis6381.conf
redis-server /home/zws/redis/6382/redis6382.conf
redis-server /home/zws/redis/6383/redis6383.conf
redis-server /home/zws/redis/6384/redis6384.conf
3、查看服务是否启动
ps -aux | grep redis
4、从这里有两种方式配置集群。
/*****************************/
方式一:手动配置
连接服务器
redis-cli -p 6379
握手
cluster meet 127.0.0.1 6380
cluster meet 127.0.0.1 6381
cluster meet 127.0.0.1 6382
cluster meet 127.0.0.1 6383
cluster meet 127.0.0.1 6384
查看集群状态
cluster nodes
cluster info
分配插槽
redis-cli -h 127.0.0.1 -p 6379 cluster addslots {0..5461}
redis-cli -h 127.0.0.1 -p 6380 cluster addslots {5462..10922}
redis-cli -h 127.0.0.1 -p 6381 cluster addslots {10923..16383}
cluster nodes
由以上输出可知,有三个节点未使用
指定主从复制关系
redis-cli -h 127.0.0.1 -p 6382 cluster replicate 73f83177eada8d829d36bc37f69795c3a3a15a73
redis-cli -h 127.0.0.1 -p 6383 cluster replicate 4d0594b71abbcc75041087eb6968167ca6f5224c
redis-cli -h 127.0.0.1 -p 6384 cluster replicate 029ef6c8a2db700886bccebaa98b0ca772db4a9b
测试(不带参数 -c 数据非本插槽的会报错,带参数-c的会自动重定向):
redis-cli -p 6379 -c
set k1 v1
set k2 v2
set k3 v3
get k1 v1
get k2 v2
get k3 v3
/*****************************/
方法二:用redis-trib.rb搭建集群
Redis 5直接执行以下命令
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
Redis版本3或4使用redis-trib.rb(未测试)
redis-trib.rb create -replicas 1 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