实操过程
6379(Master) | 6380(Master) | 6381(Master) | 6382(Slave) | 6383(Slave) | 6384(Slave) | |
Centos7.4 redis 4.0.14 | ||||||
安装redis | # yum install gcc gcc-c++ # useradd redis # echo "Redis123" |passwd --stdin redis # su - redis # 以下所有的操作全部都在redis用户下执行
$ wget http://download.redis.io/releases/redis-4.0.14.tar.gz $ tar -zxf redis-4.0.14.tar.gz $ mkdir -p /home/redis/redis4.0#创建 redis 安装目录 $ cd redis-4.0.14 $ make $ make PREFIX=/home/redis/redis4.0 install#安装到~/redis4.0目录 $ export PATH=$PATH:$HOME/redis4.0/bin #安装完成 $ mkdir /home/redis/{redis_6379,redis_6380,redis_6381,redis_6382,redis_6383,redis_6384}#创建redis工作目录 | |||||
编辑配置文件 | $ vim /home/redis/redis4.0/redis_6379.conf bind 192.168.56.111 #其他配置信息.... $ sed 's/6379/6380/g' /home/redis/redis4.0/redis_6379.conf > /home/redis/redis4.0/redis_6380.conf $ sed 's/6379/6381/g' /home/redis/redis4.0/redis_6379.conf > /home/redis/redis4.0/redis_6381.conf $ sed 's/6379/6382/g' /home/redis/redis4.0/redis_6379.conf > /home/redis/redis4.0/redis_6382.conf $ sed 's/6379/6383/g' /home/redis/redis4.0/redis_6379.conf > /home/redis/redis4.0/redis_6383.conf $ sed 's/6379/6384/g' /home/redis/redis4.0/redis_6379.conf > /home/redis/redis4.0/redis_6384.conf | |||||
启动实例 | $ redis-server /home/redis/redis4.0/redis_6379.conf $ redis-server /home/redis/redis4.0/redis_6380.conf $ redis-server /home/redis/redis4.0/redis_6381.conf $ redis-server /home/redis/redis4.0/redis_6382.conf $ redis-server /home/redis/redis4.0/redis_6383.conf $ redis-server /home/redis/redis4.0/redis_6384.conf | |||||
检查启动状态 | $ netstat -ntlp | grep redis-server tcp 0 0 192.168.56.111:16380 0.0.0.0:* LISTEN 30799/redis-server tcp 0 0 192.168.56.111:16381 0.0.0.0:* LISTEN 30806/redis-server tcp 0 0 192.168.56.111:16382 0.0.0.0:* LISTEN 30813/redis-server tcp 0 0 192.168.56.111:16383 0.0.0.0:* LISTEN 30821/redis-server tcp 0 0 192.168.56.111:16384 0.0.0.0:* LISTEN 30828/redis-server tcp 0 0 192.168.56.111:6379 0.0.0.0:* LISTEN 30791/redis-server tcp 0 0 192.168.56.111:6380 0.0.0.0:* LISTEN 30799/redis-server tcp 0 0 192.168.56.111:6381 0.0.0.0:* LISTEN 30806/redis-server tcp 0 0 192.168.56.111:6382 0.0.0.0:* LISTEN 30813/redis-server tcp 0 0 192.168.56.111:6383 0.0.0.0:* LISTEN 30821/redis-server tcp 0 0 192.168.56.111:6384 0.0.0.0:* LISTEN 30828/redis-server tcp 0 0 192.168.56.111:16379 0.0.0.0:* LISTEN 30791/redis-server | |||||
各节点meet | $ redis-cli -h 192.168.56.111 -p 6379 cluster meet 192.168.56.111 6380
$ redis-cli -h 192.168.56.111 -p 6379 cluster nodes $ redis-cli -h 192.168.56.111 -p 6379 cluster info | |||||
分配slot | $ redis-cli -h 192.168.56.111 -p 6379 cluster addslots {0..5461}
$redis-cli -h 192.168.56.111 -p 6379 cluster nodes $redis-cli -h 192.168.56.111 -p 6379 cluster slots 1) 1) (integer) 5462 | |||||
创建主从关系 | $ redis-cli -h 192.168.56.111 -p 6382 cluster replicate 37029a73b1cf3675110dbf5c08df262bb99c2f08
$ redis-cli -h 192.168.56.111 -p 6379 cluster nodes | |||||
测试 | $ redis-cli -h 192.168.56.111 -p 6379 -c redis > set hello world |
部分命令
#启动实例
redis-server /home/redis/redis4.0/redis_6379.conf
redis-server /home/redis/redis4.0/redis_6380.conf
redis-server /home/redis/redis4.0/redis_6381.conf
redis-server /home/redis/redis4.0/redis_6382.conf
redis-server /home/redis/redis4.0/redis_6383.conf
redis-server /home/redis/redis4.0/redis_6384.conf
#meet
redis-cli -h 192.168.56.111 -p 6379 cluster meet 192.168.56.111 6380
redis-cli -h 192.168.56.111 -p 6379 cluster meet 192.168.56.111 6381
redis-cli -h 192.168.56.111 -p 6379 cluster meet 192.168.56.111 6382
redis-cli -h 192.168.56.111 -p 6379 cluster meet 192.168.56.111 6383
redis-cli -h 192.168.56.111 -p 6379 cluster meet 192.168.56.111 6384
#分配slots
redis-cli -h 192.168.56.111 -p 6379 cluster addslots {0..5461}
redis-cli -h 192.168.56.111 -p 6380 cluster addslots {5462..10922}
redis-cli -h 192.168.56.111 -p 6381 cluster addslots {10923..16383}
#指定主从关系
redis-cli -h 192.168.56.111 -p 6382 cluster replicate 37029a73b1cf3675110dbf5c08df262bb99c2f08 #6379的节点ID,通过 cluster nodes 获取
redis-cli -h 192.168.56.111 -p 6383 cluster replicate f62b8b80936b64191020ca1f2140a02938ca7ac6 #6380的节点ID,通过 cluster nodes 获取
redis-cli -h 192.168.56.111 -p 6384 cluster replicate 895b22f07aad9ef1cb6b6d891c676dd06e16f97a #6381的节点ID,通过 cluster nodes 获取
#查看分配状态及主从关系
redis-cli -h 192.168.56.111 -p 6379 cluster nodes