- 解压tar -zxvf
- mkdir redis
- 进入解压目录 cd redis-6.2.0
- 执行make
- cd src
- make install PREFIX=/usr/local/redis
- 进入redis目录 cd ../../redis 将配置文件复制到bin目录下 redis.conf
- 修改配置文件vim redis.conf 注释掉bind 本机ip(允许外部访问)daemonize 改为yes 后台启动
- cd ../bin 进入bin目录启动./redis-server edis.conf (指定启动目录)
- ./redis-cli验证是否启动成功
- 关闭命令pkill redis
(外部访问需关闭防火墙或者开放端口6379)
配置集群:
最少为6台实例
- 修改配置文件vim redis.conf
# 守护进行模式启动daemonize yes
# 绑定地址,需要修改bind 本机地址
# 绑定端口,需要修改port 6379
# pid文件存储位置,文件名需要修改pidfile /usr/local/redis/rediscluster/bin/redis6379.pid
# log文件存储位置,文件名需要修改logfile /usr/local/redis/rediscluster/bin/redis6379.log
# RDB快照备份文件名,文件名需要修改dbfilename redis6379.rdb
# 本地数据库存储目录,需要修改dir /usr/local/redis/rediscluster/redis6379
# 集群相关配置
# 是否以集群模式启动cluster-enabled yes
# 集群节点回应最长时间,超过该时间被认为下线cluster-node-timeout 15000
# 生成的集群节点配置文件名,文件名需要修改cluster-config-file nodes_6379.conf
不同实例按对应服务器IP 进行修改(同一台服务器要修改端口)对应文件名;
- ./redis-server redis6379.conf逐个实例进行启动
- ./redis-cli -h ip -p 6379 进入控制端
- cluster meet ip port 将所有实例加入集群
- cluster nodes 进行验证是否加入
- ./redis-cli -h 进入准备作为slave服务的控制端执行CLUSTER REPLICATE 对应实例MD5(对应master的MD5)(可以通过查看nodes_6379.conf获取集群中所有实例MD5)进行主备配置
- 关联完毕后通过cluster nodes 进行验证;(cluster info可以查看集群状态;节点数)
- 分配槽位 在三个master节点执行 ./redis-cli -h ip -p port cluster addslots {0..5461}(依次在三个master节点执行./redis-cli -h ip -p port cluster addslots {5462..10922}、./redis-cli -h ip -p port cluster addslots {10923..16383)(不进入客服端执行)
- 执行cluster nodes 进行验证
- 执行cluster info 验证集群状态
- 执行./redis-cli -p ip -p port -c set key “value”进行添加测试(不用-c会有异常;根据返回master ip找到对应slave ip 进入控制端执行 keys *进行验证slaver是否正常保存)
- 执行 ./redis-cli -p ip -p port shutdown、./redis-cli -p ip -p cluster nodes 模拟故障转移、关闭master对应slaver是否正常接管;重启master 通过cluster nodes 查看是否变为slaver