1. 实现Redis集群
1.1 为什么需要搭建集群
redis分片特点:
1.可以实现Redis内存数据的扩容.
2.redis分片本身没有高可用效果的.如果宕机将直接影响用户的使用.
redis哨兵特点:
1.Redis哨兵可以实现Redis节点的高可用.但是哨兵本身没有实现高可用机制.(最好不要引入第三方)
2.Redis哨兵有主从的结构 实现了内存数据的备份. 但是没有实现内存扩容的效果.
升级:
需要Redis内容扩容同时需要Redis高可用性所以应该使用Redis集群.
1.2集群搭建计划
主从划分:
3台主机 3台从机共6台 端口划分7000-7005
准备集群文件夹
1.2.1. 准备集群文件夹
Mkdir cluster
1.2.2. 在cluster文件夹中分别创建7000-7005文件夹
1.2.3. 复制配置文件
说明:
将redis根目录中的redis.conf文件复制到cluster/7000/ 并以原名保存
cp redis.conf cluster/7000/
1.2.4.编辑配置文件
注释本地绑定IP地址
关闭保护模式
修改端口号
启动后台启动
修改pid文件
修改持久化文件路径
设定内存优化策略
关闭AOF模式
开启集群配置
开启集群配置文件
修改集群超时时间
1.2.5. 复制修改后的配置文件
说明:将7000文件夹下的redis.conf文件分别复制到7001-7005中
[root@localhost cluster]# cp 7000/redis.conf 7001/
[root@localhost cluster]# cp 7000/redis.conf 7002/
[root@localhost cluster]# cp 7000/redis.conf 7003/
[root@localhost cluster]# cp 7000/redis.conf 7004/
[root@localhost cluster]# cp 7000/redis.conf 7005/
1.2.6. 批量修改
说明:分别将7001-7005文件中的7000改为对应的端口号的名称,
修改时注意方向键的使用
1.2.7. 通过脚本编辑启动/关闭指令
创建启动脚本 vim start.sh
编辑关闭的脚本 vim shutdown.sh
启动redis节点
sh start.sh
1.2.8 检查redis节点启动是否正常
1.2.9. 创建redis集群
#5.0版本执行 使用C语言内部管理集群
redis-cli --cluster create --cluster-replicas 1 192.168.35.130:7000 192.168.35.130:7001 192.168.35.130:7002 192.168.35.130:7003 192.168.35.130:7004 192.168.35.130:7005
1.2.10. Redis集群高可用测试
关闭redis主机.检查是否自动实现故障迁移.
再次启动关闭的主机.检查是否能够实现自动的挂载.
一般情况下 能够实现主从挂载
个别情况: 宕机后的节点重启,可能挂载到其他主节点中(7001-7002) 正确的