环境准备:
IP地址 | 端口 | 角色 |
---|---|---|
192.168.0.57 | 7001 | master |
192.168.0.57 | 7002 | slave |
192.168.0.58 | 7001 | master |
192.168.0.58 | 7002 | slave |
192.168.0.59 | 7001 | master |
192.168.0.59 | 7002 | slave |
https://download.redis.io/releases/
redis 部署
三台分别执行,除ip、端口不一致
mkdir /data/redis -p
cd /data/redis
wget https://download.redis.io/releases/redis-5.0.9.tar.gz
tar xf redis-5.0.9.tar.gz
cd redis-5.0.9
yum install gcc -y
make && make install
mkdir {7001,7002}/{conf,db,log} -p
编辑配置文件 注意修改bind,改为服务器ip
#7001
cd /data/redis/7001/conf
vim redis_7001.conf
daemonize yes
bind 192.168.0.57
port 7001
pidfile /data/redis/7001/redis_7001.pid
logfile /data/redis/7001/log/redis_7001.log
dbfilename "redis_7001.rdb"
dir /data/redis/7001/db/
requirepass Mogu07550831
appendonly yes
appendfilename "redis.aof"
appendfsync everysec
cluster-enabled yes
cluster-config-file nodes_7001.conf
cluster-node-timeout 15000
masterauth Mogu07550831
#7002
cd /data/redis/7002/conf
vim redis_7002.conf
daemonize yes
bind 192.168.0.57
port 7002
pidfile /data/redis/7002/redis_7002.pid
logfile /data/redis/7002/log/redis_7002.log
dbfilename "redis_7002.rdb"
dir /data/redis/7002/db/
requirepass Mogu07550831
appendonly yes
appendfilename "redis.aof"
appendfsync everysec
cluster-enabled yes
cluster-config-file nodes_7002.conf
cluster-node-timeout 15000
masterauth Mogu07550831
注:将这两个配置文件 分发到192.168.0.58、59服务器上,文件地址保持一致,更改ip地址
启动 三台都执行
/data/redis/redis/src/redis-server /data/redis/7001/conf/redis_7001.conf
/data/redis/redis/src/redis-server /data/redis/7002/conf/redis_7002.conf
初始化集群,在7001上操作
redis-cli -a xingdaokeji.0 --cluster create 192.168.0.57:7001 192.168.0.58:7001 192.168.0.59:7001 192.168.0.57:7002 192.168.0.58:7002 192.168.0.59:7002 --cluster-replicas 1
image.png
确认集群配置信息,输入yes后开始分配槽位
image.png
验证集群Redis-Cluster
登录redis集群
redis-cli -p 7001 -a xingdaokeji.0 -h 192.168.0.57 -c
验证集群信息
192.168.0.57:7001> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:63
cluster_stats_messages_pong_sent:69
cluster_stats_messages_sent:132
cluster_stats_messages_ping_received:64
cluster_stats_messages_pong_received:63
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:132
192.168.0.57:7001> cluster nodes
6847081e853e67b21eb525861dd32968c0adb39e 192.168.0.59:7002@17002 slave 894997a16af0c12dbffd0c00cf1eac1331eaf7e7 0 1635153015454 6 connected
a0ce0f161bed5eee23284c93a06f243a2ffe7cce 192.168.0.58:7002@17002 slave 0fdc64d64420974312a45e72c3d96c357c9aa7e8 0 1635153014000 5 connected
f5753c3e0f46e66b3a63a7ef7db2fc6ef56896c8 192.168.0.57:7002@17002 slave 6a86f7c910b70d040b98ad662a9fcab48aa93739 0 1635153013453 4 connected
0fdc64d64420974312a45e72c3d96c357c9aa7e8 192.168.0.57:7001@17001 myself,master - 0 1635153012000 1 connected 0-5460
6a86f7c910b70d040b98ad662a9fcab48aa93739 192.168.0.59:7001@17001 master - 0 1635153014454 3 connected 10923-16383
894997a16af0c12dbffd0c00cf1eac1331eaf7e7 192.168.0.58:7001@17001 master - 0 1635153013000 2 connected 5461-10922
查看集群节点
192.168.0.57:7001> cluster nodes
6847081e853e67b21eb525861dd32968c0adb39e 192.168.0.59:7002@17002 slave 894997a16af0c12dbffd0c00cf1eac1331eaf7e7 0 1635153015454 6 connected
a0ce0f161bed5eee23284c93a06f243a2ffe7cce 192.168.0.58:7002@17002 slave 0fdc64d64420974312a45e72c3d96c357c9aa7e8 0 1635153014000 5 connected
f5753c3e0f46e66b3a63a7ef7db2fc6ef56896c8 192.168.0.57:7002@17002 slave 6a86f7c910b70d040b98ad662a9fcab48aa93739 0 1635153013453 4 connected
0fdc64d64420974312a45e72c3d96c357c9aa7e8 192.168.0.57:7001@17001 myself,master - 0 1635153012000 1 connected 0-5460
6a86f7c910b70d040b98ad662a9fcab48aa93739 192.168.0.59:7001@17001 master - 0 1635153014454 3 connected 10923-16383
894997a16af0c12dbffd0c00cf1eac1331eaf7e7 192.168.0.58:7001@17001 master - 0 1635153013000 2 connected 5461-10922
命令行查看集群信息
redis-cli -a xingdaokeji.0 -h 192.168.0.57 -p 7001 -c cluster slots | xargs -n8 | awk '{print $3":"$4"->"$6":"$7}' | sort -nk2 -t ':' | uniq
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.0.57:7001->192.168.0.58:7002
192.168.0.58:7001->192.168.0.59:7002
192.168.0.59:7001->192.168.0.57:7002
验证集群可用性
192.168.0.57:7001>set cc "yy"
OK
登录其它节点查看
redis-cli -p 7001 -a xingdaokeji.0 -h 192.168.0.58 -c
192.168.0.58:7001>get cc
"yy"
验证完毕