Docker搭建3主3从Redis Cluster集群
本文使用镜像由慕课网的神思者老师提供
本文使用镜像是已经配置好了的Redis镜像,
如果需要自定义可修改配置文件或用官方Redis镜像进行部署
1. 拉取配置好的Redis镜像
docker pull yyyyttttwwww/redis
2. 创建集群使用的网段redis_net
docker network create --subnet=172.19.0.0/16 redis_net
3. 修改镜像的名称
将镜像yyyyttttwwww/redis
的名称修改为redis
,方便进行使用
docker tag yyyyttttwwww/redis redis
4. 生成6个Redis容器
docker run -it -d --name r1 -p 5001:6379 --net=redis_net--ip 172.19.0.2 redis bashdocker run -it -d --name r2 -p 5002:6379 --net=redis_net--ip 172.19.0.3 redis bashdocker run -it -d --name r3 -p 5003:6379 --net=redis_net--ip 172.19.0.4 redis bashdocker run -it -d --name r4 -p 5004:6379 --net=redis_net--ip 172.19.0.5 redis bashdocker run -it -d --name r5 -p 5005:6379 --net=redis_net--ip 172.19.0.6 redis bashdocker run -it -d --name r6 -p 5006:6379 --net=redis_net--ip 172.19.0.7 redis bash
- 容器的命名分别为r1-r6
- 容器映射的宿主机端口对应:5001-5006
- 容器均使用网关redis_net
- 容器分别映射ip对应:172.19.0.2-172.19.0.7
5. 检验容器创建是否成功
使用docker ps -a | grep redis
,查看各个节点是否正常运行中
6. 进入每个容器启动Redis
以r1为例
- 以交互方式进入容器:
docker exec -it r1 bash
- 覆盖配置文件:
cp /home/redis/redis.conf /usr/redis/redis.conf
- 进入到启动目录:
cd /usr/redis/src
- 启动Redis:
./redis-server ../redis.conf
重复上述操作将6台容器都启动
7. 集群搭建
镜像中已经安装好了ruby的环境并编写好了集群启动的脚本,可以直接进行使用
- 进入任意一个节点,如交互式进入r1,执行
docker exec -it r1 bash
- 在
/usr/redis/
目录下创建一个空目录cluster
cd /usr/redis/
mkdir cluster
- 将/usr/redis/src/下的 redis‐trib.rb复制到/usr/redis/cluster/目录下
cd /usr/redis/src/
cp redis‐trib.rb ../cluster
- 进入/usr/redis/cluster/执行集群启动脚本
cd ../cluster
./redis-trib.rb create --replicas 1 172.19.0.2:6379 172.19.0.3:6379 172.19.0.4:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.0.7:6379
执行过程中需要输入一次yes
,执行完成集群启动成功
8. 测试使用Redis Cluster 集群
- 进入任意一个节点,如交互式进入r1,执行
docker exec -it r1 bash
- 进入到客户端启动目录:
cd /usr/redis/src/
- 以集群方式启动客户端程序:
./redis-cli -c
- 进入客户端后,进行基础的set/get操作,如:
set a 10086
,a计算出hash槽为15495,应该存放在第三个主节点,即172.19.0.4上,跳转到172.19.0.4上set b 12345
,b计算出hash槽为3300,应该存放在第一个主节点,即172.19.0.2上,跳转回172.19.0.2
Docker搭建3主3从Redis Cluster集群相关推荐
- redis映射的概念_搭建分布式Redis Cluster集群与Redis入门
目录 Redis 集群搭建Redis 是啥集群(Cluster)Redis Cluster 说明Redis Cluster 节点Redis Cluster 集群模式不能保证一致性创建和使用 Redis ...
- centos7 docker-compose安装_Docker Compose 搭建 Redis Cluster 集群环境
在前文<Docker 搭建 Redis Cluster 集群环境>中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Dock ...
- redis cluster集群选主
redis 选主过程分析 当slave发现自己的master变为FAIL状态时,便尝试进行Failover,以期成为新的master.由于挂掉的master可能会有多个slave.Failover的 ...
- Ubuntu 16.04下Redis Cluster集群搭建(官方原始方案)
前提:先安装好Redis,参考:http://www.cnblogs.com/EasonJim/p/7599941.html 说明:Redis Cluster集群模式可以做到动态增加节点和下线节点,使 ...
- Redis Cluster集群的搭建与实践[转]
Redis Cluster集群的搭建与实践 Redis Cluster集群 一.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后 ...
- Redis Cluster集群的搭建与实践
Redis Cluster集群 一.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Re ...
- redis cluster 集群 HA 原理和实操(史上最全、面试必备)
文章很长,建议收藏起来慢慢读!疯狂创客圈总目录 语雀版 | 总目录 码云版| 总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 经典图书:<Java高并发核心编程(卷1)> 面试必备 ...
- python连接redis集群如何释放内存_python 连接 redis cluster 集群
一. redis集群模式有多种, cluster模式只是其中的一种实现方式, 其原理请自行谷歌或者百度, 这里只举例如何使用Python操作 redis cluster 集群 二. python 连接 ...
- Redis Cluster 集群扩容与收缩
2019独角兽企业重金招聘Python工程师标准>>> Redis Cluster 集群伸缩 1. 伸缩原理 Redis提供了灵活的节点扩容和收缩方案.在不影响集群对外服务的情况下, ...
最新文章
- 第三章 达瑞,一个很能挣钱的男孩
- do{}while(0) 作用
- zabbix_agentd.conf配置文件详解
- 小甲鱼python数字游戏给三次机会_【python 入门案例】小甲鱼python入门 猜数字游戏...
- html按键清空怎么写_html的空格代码怎么写?教你如何使用空格nbsp代码
- 干货分享:单片机编程学习攻略!
- Mac OS X 10.10如何打开虚拟内存
- hadoop-2.6.5安装
- 2019,跟着大佬追逐技术前沿
- (转)UIWebView的基本用法,适合新手
- Apache Tomcat下载、安装、配置图文教程
- 利用伊藤引理计算一般资产的微分方程
- ODL之VTN详解-Mac Map
- excel计算加权和
- Python多线程进程协程
- 屏幕正中间浮窗html,HTML 纯css浮窗居中和打开or关闭
- 四大主流新闻App竞品分析
- 杰奇php手机登陆自动跳转,杰奇cms电脑与手机自动判断跳转代码
- 基于 OpenCV + Python 的人脸识别上课签到系统
- P1162 填图颜色 洛谷(BFS的简单应用)
热门文章
- 春色弄眉,展一季的顾盼
- 安装linux戴尔找不到引导,dellR720重启找不到启动引导项,手动选择也无用。
- oracle排序不生效问题
- kali制作Mac镜像过程记录
- ASP.NET C# asp:BoundField文本格式化 DataFormatString的使用
- linux下kodi安装目录,Linux下安装多媒体中心 Kodi 18.8 新版本并设置中文界面
- ROS第一个程序(HelloWorld)
- 三维可视化数据管理系统详情分析
- 九宫格输入法及strlen()函数
- 无线充电19年准备起飞,是什么让其受到了市场追捧?