1 为什么要搭建集群
通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取。
Redis是一个很好的Cache工具。大型网站应用,热点数据量往往巨大,几十G上百G是很正常的事儿。 由于内存大小的限制,使用一台
Redis 实例显然无法满足需求,这时就需要使用多台
Redis作为缓存数据库。但是如何保证数据存储的一致性呢,这时就需要搭建redis集群.采用合理的机制,保证用户的正常的访问需求.
采用redis集群,可以保证数据分散存储,同时保证数据存储的一致性.并且在内部实现高可用的机制.实现了服务故障的自动迁移.
2 集群搭建计划
主从划分:
3台主机 3台从机共6台 端口划分7000-7005
3 集群搭建
3.1 准备集群文件夹
3.1.1 准备集群文件夹
mkdir cluster
3.1.2 在cluster文件夹中分别创建7000-7005文件夹
mkdir 7000 7001 7002 7003 7004 7005
3.2 复制配置文件
说明:
将redis根目录中的redis.conf文件复制到cluster/7000/ 并以原名保存
cp redis.conf cluster/7000/
3.3 编辑配置文件
3.3.1 注释本地绑定IP地址
3.3.2 关闭保护模式
3.3.3 修改端口号
3.3.4 启动后台启动
3.3.5 修改pid文件
3.3.6 修改持久化文件路径
3.3.7 设定内存优化策略
3.3.8 关闭AOF模式
3.3.9 开启集群配置
3.3.10 开启集群配置文件
3.3.11 修改集群超时时间
3.4 复制修改后的配置文件
说明:将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/
3.5 批量修改
说明:分别将7001-7005文件中的7000改为对应的端口号的名称,
修改时注意方向键的使用
3.6 通过脚本编辑启动/关闭指令
3.6.1 创建启动脚本 vim start.sh
3.6.2 创建关闭脚本 vim shutdown.sh
3.6.3 启动redis节点
sh start.sh
3.6.4 检查redis节点启动是否正常
3.7 创建redis集群
#5.0版本执行
redis-cli --cluster create --cluster-replicas 1 192.168.126.129:7000 192.168.126.129:7001 192.168.126.129:7002 192.168.126.129:7003 192.168.126.129:7004 192.168.126.129:7005
3.8 Redis集群高可用测试
3.8.1 关闭redis主机.检查是否自动实现故障迁移.
redis-cli -p 7000 shutdowni
3.8.2 再次启动关闭的主机.检查是否能够实现自动的挂载.
info replication
4 redis集群搭建问题解决方案
4.1 检查防火墙
firewall-cmd --state
4.2 检查配置文件
4.3 关闭所有的redis服务器
sh shutdown.sh
4.4 删除多余的文件 nodes.conf dump.rdb
[root@localhost cluster]# rm -rf 700*/dump.rdb
[root@localhost cluster]# rm -rf 700*/nodes.conf