| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 基于docker 部署redis cluster 生产集群 -> 正文阅读 |
|
[系统运维]基于docker 部署redis cluster 生产集群 |
开始之前我们提出几个问题: 什么是redis cluster ?keyHashSlot?函数用来计算给定键应该被分配到哪个槽采用分片取模算法实现节点分配,节点数据存储。
为什么要做redis cluster集群?1,可以实现动态节点扩容,缩容。 2,高可用,节点挂掉过后自动选举,数据迁移到存活节点的redis节点。 redis cluster集群搭建需要注意事项?1,节点数据不同步。 2,端口ip通讯连接失败。 服务器三台配置6381 为主,6382 为从:
?对应数据存储路径:/data/6381/? ?/data/6382/? ? ? ? ?data目录为文件映射卷自动生成的数据。 /data/6381/? redis .conf
/data/6382/? redis .conf
docker 命令后面可以配置到docker-compose.yml:
进入到任意一台容器,启动redis命令。
执行命令:
?报错了:Could not connect to Redis at 192.168.192.139:6381: No route to host 这个问题一般是节点连接不通,查看对应服务器节点主从。 这个错是主机端口没有开放,关闭防火墙搞定 Could not connect to Redis at 192.168.192.140:6381: No route to host ? ?[ERR] Node 192.168.192.140:6381 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0. 节点数据不同步,删除节点的数据,并且从新flushdb redis库。 清出docker映射卷的配置,重新启动redis 即可。 /data/6381/data /data/6382/data ? 总结:看到这个过后说明你的集群是启动成功了,我们写入默认crc64 分片取模算法。16384个卡槽,3台服务器?分别根据卡槽存放数据。数据写入缓存可以实现同步到指定节点,从而实现了redis高可。 Master[0] -> Slots 0 - 5460 我在140写了一个??xy_cesi Key 我通过其他服务器查询是拿取到了,写入的缓存数据会自动同步到其他节点上面,如果你发现没有数据实际是正常的情况。 下面是一个真实生产缓存的redis 集群。 ?docker? redis cluster 高可用集群搭建就结束了,后面分享微服务集成redis 高可用集群,创作不易感谢支持!!! ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 16:46:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |