目录
准备三台服务器
192.168.8.129 | 7001 |
192.168.8.129 | 7002 |
192.168.8.130 | 7003 |
192.168.8.130 | 7004 |
192.168.8.132 | 7005 |
192.168.8.132 | 7006 |
关闭防火墙和selinux
1、安装redis
1.1 安装redis
创建工作目录(三台都创建)
mkdir -p /data/application
在192.168.8.129上操作
安装编译工具
yum -y install gcc make
获取redis包
wget http://download.redis.io/releases/redis-5.0.10.tar.gz
解压
tar xzf redis-5.0.10.tar.gz -C /data/application/
编译安装
cd /data/application/redis-5.0.10
make
将编译好的redis复制到另外两条服务器
scp -r /data/application/redis-5.0.10 192.168.8.130:/data/application
scp -r /data/application/redis-5.0.10 192.168.8.132:/data/application
1.2 配置所有节点及端口
创建目录
192.168.8.129服务器
mkdir -p /data/application/7001/data
mkdir -p /data/application/7002/data
192.168.8.130服务器
mkdir -p /data/application/7003/data
mkdir -p /data/application/7004/data
192.168.8.132服务器
mkdir -p /data/application/7005/data
mkdir -p /data/application/7006/data
部署配置文件
192.168.8.129服务器
cd /data/application/
vim 7001/redis.conf
写入下面内容:
port 7001
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
bind 0.0.0.0
pidfile /data/application/7001/redis_7001.pid
dir /data/application/7001/data
复制到其他节点的目录下
cp 7001/redis.conf 7002/redis.conf
scp 7001/redis.conf 192.168.8.130:/data/application/7003/
修改其他节点的配置文件
以7002为例:
vim 7002/redis.conf
将所有7001改为7002
:%s/7001/7002/g
1.3 启动服务
启动7001~7006,启动方式:
cd /data/application/
./redis-5.0.10/src/redis-server ./7001/redis.conf &
2、创建集群
/data/application/redis-5.0.10/src/redis-cli --cluster create --cluster-replicas 1 192.168.8.129:7001 192.168.8.129:7002 192.168.8.130:7003 192.168.8.130:7004 192.168.8.132:7005 192.168.8.132:7006
登录查看
/data/application/redis-5.0.10/src/redis-cli -c -h 192.168.8.129 -p 7001
如果创建集群出错,可以重置节点
/data/application/redis-5.0.10/src/redis-cli -h 192.168.8.132 -p 7006 cluster reset
3、测试
3.1 数据查看
查看是否在任意节点都能查到数据
3.2 宕机测试(宕一个主)
停某一个主,看集群状态变化,再启动停止的主,看集群的状态变化
登录7001,查看集群状态
停掉一个主(7005)
查看集群状态
此时7005的状态是fail,它的从redis7002成为了主
重新启动7005
查看集群状态
此时7002仍旧是主,7005成了7002的从redis
3.3 宕机测试(宕一对主从)
宕掉一对主从,看集群是否正常
登录7001,查看集群状态
宕掉7002和7005
查看集群状态
此时查看状态,7002和7005为fail,此时设置Key报错,“集群已关闭”
将宕掉的两个节点重启之后,设置Key成功