本文使用镜像由慕课网的神思者老师提供

本文使用镜像是已经配置好了的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集群相关推荐

  1. redis映射的概念_搭建分布式Redis Cluster集群与Redis入门

    目录 Redis 集群搭建Redis 是啥集群(Cluster)Redis Cluster 说明Redis Cluster 节点Redis Cluster 集群模式不能保证一致性创建和使用 Redis ...

  2. centos7 docker-compose安装_Docker Compose 搭建 Redis Cluster 集群环境

    在前文<Docker 搭建 Redis Cluster 集群环境>中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Dock ...

  3. redis cluster集群选主

    redis 选主过程分析  当slave发现自己的master变为FAIL状态时,便尝试进行Failover,以期成为新的master.由于挂掉的master可能会有多个slave.Failover的 ...

  4. Ubuntu 16.04下Redis Cluster集群搭建(官方原始方案)

    前提:先安装好Redis,参考:http://www.cnblogs.com/EasonJim/p/7599941.html 说明:Redis Cluster集群模式可以做到动态增加节点和下线节点,使 ...

  5. Redis Cluster集群的搭建与实践[转]

    Redis Cluster集群的搭建与实践 Redis Cluster集群 一.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后 ...

  6. Redis Cluster集群的搭建与实践

    Redis Cluster集群 一.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Re ...

  7. redis cluster 集群 HA 原理和实操(史上最全、面试必备)

    文章很长,建议收藏起来慢慢读!疯狂创客圈总目录 语雀版 | 总目录 码云版| 总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 经典图书:<Java高并发核心编程(卷1)> 面试必备 ...

  8. python连接redis集群如何释放内存_python 连接 redis cluster 集群

    一. redis集群模式有多种, cluster模式只是其中的一种实现方式, 其原理请自行谷歌或者百度, 这里只举例如何使用Python操作 redis cluster 集群 二. python 连接 ...

  9. Redis Cluster 集群扩容与收缩

    2019独角兽企业重金招聘Python工程师标准>>> Redis Cluster 集群伸缩 1. 伸缩原理 Redis提供了灵活的节点扩容和收缩方案.在不影响集群对外服务的情况下, ...

最新文章

  1. 第三章 达瑞,一个很能挣钱的男孩
  2. do{}while(0) 作用
  3. zabbix_agentd.conf配置文件详解
  4. 小甲鱼python数字游戏给三次机会_【python 入门案例】小甲鱼python入门 猜数字游戏...
  5. html按键清空怎么写_html的空格代码怎么写?教你如何使用空格nbsp代码
  6. 干货分享:单片机编程学习攻略!
  7. Mac OS X 10.10如何打开虚拟内存
  8. hadoop-2.6.5安装
  9. 2019,跟着大佬追逐技术前沿
  10. (转)UIWebView的基本用法,适合新手
  11. Apache Tomcat下载、安装、配置图文教程
  12. 利用伊藤引理计算一般资产的微分方程
  13. ODL之VTN详解-Mac Map
  14. excel计算加权和
  15. Python多线程进程协程
  16. 屏幕正中间浮窗html,HTML 纯css浮窗居中和打开or关闭
  17. 四大主流新闻App竞品分析
  18. 杰奇php手机登陆自动跳转,杰奇cms电脑与手机自动判断跳转代码
  19. 基于 OpenCV + Python 的人脸识别上课签到系统
  20. P1162 填图颜色 洛谷(BFS的简单应用)

热门文章

  1. 春色弄眉,展一季的顾盼
  2. 安装linux戴尔找不到引导,dellR720重启找不到启动引导项,手动选择也无用。
  3. oracle排序不生效问题
  4. kali制作Mac镜像过程记录
  5. ASP.NET C# asp:BoundField文本格式化 DataFormatString的使用
  6. linux下kodi安装目录,Linux下安装多媒体中心 Kodi 18.8 新版本并设置中文界面
  7. ROS第一个程序(HelloWorld)
  8. 三维可视化数据管理系统详情分析
  9. 九宫格输入法及strlen()函数
  10. 无线充电19年准备起飞,是什么让其受到了市场追捧?