使用docker 创建6节点redis 集群 RedisCluster redis集群
1.RedisCluster 特点(3主节点redis 集群 及6节点集群)
1.无中心节点,客户端与redis 节点直连,不需要中间代理,(有选举机制 master个数需要奇数个)
2.数据可以被分片储存(设置冗余节点备份)
3.管理方便

1.获取redis 镜像
docker pull yyyyttttwwww/redis
改名 docker tag yyyyttttwwww/redis redis
2.运行redis 容器
docker run -it -d --name r1 -p 5001:6379 --net=net2 --ip 172.19.0.2 redis bash # --net=net2 网段
#--ip 172.19.0.2 设置ip
3.删除 docker_gwbridge (网段不删除不好用)

4.创建net2 网段
docker network create --subnet=172.19.0.0/16 net2

5。创建redis
docker run -it -d --name r1 -p 5001:6379 --net=net2 --ip 172.19.0.2 redis bash
5.进入redis 容器修改配置文件 /usr/redis/redis.conf
vi /usr/redis/redis.conf

6.启动 redis
cd /usr/redis/src/ ./redis-server ../redis.conf
7.依次创建其他5节点redis ,分别进入各节点redis 的容器中 /usr/redis/src/ 使用 ./redis-server ../redis.conf 启动redis
docker run -it -d --name r2 -p 5002:6379 --net=net2 --ip 172.19.0.3 redis bash docker run -it -d --name r3 -p 5003:6379 --net=net2 --ip 172.19.0.4 redis bash docker run -it -d --name r4 -p 5004:6379 --net=net2 --ip 172.19.0.5 redis bash docker run -it -d --name r5 -p 5005:6379 --net=net2 --ip 172.19.0.6 redis bash docker run -it -d --name r6 -p 5006:6379 --net=net2 --ip 172.19.0.7 redis bash
进入redis r1 节点
1.在 /usr/redis 下创建 创建空目录 、
mkdir /usr/redis/cluster/
2. 将 redis-trib.rb 复制到新创建 cluster 的目录下
cp /usr/redis/src/redis-trib.rb /usr/redis/cluster/
在docker库获取镜像:redis,ruby;下载redis-trib.rb(命令:wget http://download.redis.io/redis-stable/src/redis-trib.rb
3. 更新apt-get 安装ruby rubygems 程序,使用rubygems gem 安装redis 集群
apt-get update
apt-get install ruby
apt-get install rubygems
gem install redis
4.进入 /usr/redis/cluster/ 创建集群(yyyyttttwwww/redis 镜像中都已经创建好了ruby 环境 直接镜如下像创建集群的指令即可)
cd /usr/redis/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 --replicas 1 #每一个主节点创建一个从节点
5. 使用任何一个节点链接redis 集群
docker exec -it r1 bash /usr/redis/src/redis-cli -c -c 链接redis集群
6. 进入r1容器节点 使用工具 /usr/redis/src/redis-cli -c 连接集群

7.验证 写入数据 set get 写入数据 读取数据

8.推销是那个节点并将期暂停后在读写数据 docker pause r2 (创建时的ip 推算172.19.0.3)

9. 退出redis 集群链接后重新链接 读取数据,如下可以看出redis集群链接到r5节点( 172.19.0.6 )

10.查看集群运行的状况 cluster nodes ( j进入容器,链接集群,)就可以看出r2 节点是挂掉的

11. 使用 docker unpause r2 进行恢复,恢复后该节点自动降级为salve 节点


使用docker 创建6节点redis 集群 RedisCluster redis集群的更多相关文章
- redis(二)集群 redis-cluster & redis主从同步
参考文档: http://geek.csdn.net/news/detail/200023 redis主从复制:https://blog.csdn.net/imxiangzi/article/deta ...
- Redis的搭建和Redis的集群搭建
1.Redis的官网:https://redis.io/ Redis的测试网站:http://try.redis.io/ 2.参考博客:https://www.cnblogs.com/maf ...
- docker创建Redis集群
开始工作: yum install wegt ##安装下载工具 yum install net-tools ##安装网络工具 yum install tree ##安装tree命令(方便查看集群配置文 ...
- Docker 也是本地开发的一神器:部署单机版 Pulsar 和集群架构 Redis
原文链接:Docker 也是本地开发的一神器:部署单机版 Pulsar 和集群架构 Redis 一.前言: 现在互联网的技术架构中,不断出现各种各样的中间件,例如 MQ.Redis.Zookeeper ...
- Docker极简入门:使用Docker-Compose 搭建redis集群
为了构建一个集群,我们首先要让 redis 启用集群模式 一个简单的配置文件如下redis.conf # redis.conf file port 6379 cluster-enabled yes c ...
- docker创建ceph集群
背景 Ceph官方现在提供两类镜像来创建集群,一种是常规的,每一种Ceph组件是单独的一个镜像,如ceph/daemon.ceph/radosgw.ceph/mon.ceph/osd等:另外一种是最新 ...
- 使用Vagrant创建多节点虚拟机集群
摘要: 在前一篇博客中,我介绍了使用Vagrant快速创建虚拟机,但是所创建的只是单个虚拟机.这篇博客将介绍使用Vagrant创建多节点虚拟机集群,可以作为Hadoop,Spark以及Storm等分布 ...
- redis学习五,redis集群搭建及添加主从节点
redis集群 java架构师项目实战,高并发集群分布式,大数据高可用,视频教程 在redis3.0之前,出现了sentinel工具来监控各个Master的状态(可以看上一篇博客).如果Master异 ...
- Redis学习总结(五)--Redis集群创建
在之前我们讲到了主从,但是对于大数据量的场景下我们就需要用到集群了,让我们来了解下集群吧. 为什么需要集群 单机内存太小 redis最高可以达到10万/s 请求,如果超过该频率呢? 数据分布方式 数据 ...
- 基于docker创建Cassandra集群
一.概述 简介 Cassandra是一个开源分布式NoSQL数据库系统. 它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynam ...
随机推荐
- pdf转图片加水印压缩
''' pip install pymupdf pip install pillow ''' import os import uuid import fitz from PIL import Ima ...
- ubuntu 备份系统
1.安装Systemback: sudo add-apt-repository ppa:nemh/systemback sudo apt-get update sudo apt-get install ...
- C语言知识补充 --来自菜鸟教程的指针复习
1.system 打开其他应用 1.指针演练 C 指针. 正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用 & 运算符访问的地址,它表示了在内存中的一个地址. #in ...
- orw入门报告
orw(沙箱逃逸) 现在有很多程序在运行时禁用了系统函数,均采用了沙箱技术开启了沙箱保护,我们不能正常的get shell,只能用ROP链来调用其他的函数,例如read,write来把flag打印出来 ...
- 原创ui自动化组件库-seliky
seliky是本人单独开发的一个selenium封装库,非常好用,公司里我所在一整条业务线都用上了噢,可以通过pip来安装,下面简单介绍一下. 一. seliky特性 语法简洁,省去了原生冗长的句式. ...
- centos7 ssh服务
转载博客园: Centos7开启SSH服务 - KinwingHU - 博客园 (cnblogs.com)
- 比较多普勒超声与临床缓解标准对RA放射学进展的预测效能
比较多普勒超声与临床缓解标准对RA放射学进展的预测效能 de Miguel, et al. EULAR 2015. Present ID: FRI0586. 原文 译文 FRI0586 DOPPLER ...
- Cesium之影像底图加载
1. 引言 Cesium是一款三维地球和地图可视化开源JavaScript库,使用WebGL来进行硬件加速图形,使用时不需要任何插件支持,基于Apache2.0许可的开源程序,可以免费用于商业和非商业 ...
- pytorch学习笔记三之神经网络
神经网络¶ 1. 概述¶ 使用torch.nn包构建神经网络 nn依赖于autograd来定义模型并对其进行微分 nn.Module包含层,以及返回output的方法forward ...
- MySQL联合索引的创建规则
1.索引应该按照最常用于查询的列的顺序创建.这样可以最大程度地提高查询性能. 2.如果查询中包含的列与索引中的列顺序不一致,则无法使用索引.因此,如果您有多个查询,每个查询都包含不同的列,那么最好为每 ...