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集群的更多相关文章

  1. redis(二)集群 redis-cluster & redis主从同步

    参考文档: http://geek.csdn.net/news/detail/200023 redis主从复制:https://blog.csdn.net/imxiangzi/article/deta ...

  2. Redis的搭建和Redis的集群搭建

    1.Redis的官网:https://redis.io/      Redis的测试网站:http://try.redis.io/ 2.参考博客:https://www.cnblogs.com/maf ...

  3. docker创建Redis集群

    开始工作: yum install wegt ##安装下载工具 yum install net-tools ##安装网络工具 yum install tree ##安装tree命令(方便查看集群配置文 ...

  4. Docker 也是本地开发的一神器:部署单机版 Pulsar 和集群架构 Redis

    原文链接:Docker 也是本地开发的一神器:部署单机版 Pulsar 和集群架构 Redis 一.前言: 现在互联网的技术架构中,不断出现各种各样的中间件,例如 MQ.Redis.Zookeeper ...

  5. Docker极简入门:使用Docker-Compose 搭建redis集群

    为了构建一个集群,我们首先要让 redis 启用集群模式 一个简单的配置文件如下redis.conf # redis.conf file port 6379 cluster-enabled yes c ...

  6. docker创建ceph集群

    背景 Ceph官方现在提供两类镜像来创建集群,一种是常规的,每一种Ceph组件是单独的一个镜像,如ceph/daemon.ceph/radosgw.ceph/mon.ceph/osd等:另外一种是最新 ...

  7. 使用Vagrant创建多节点虚拟机集群

    摘要: 在前一篇博客中,我介绍了使用Vagrant快速创建虚拟机,但是所创建的只是单个虚拟机.这篇博客将介绍使用Vagrant创建多节点虚拟机集群,可以作为Hadoop,Spark以及Storm等分布 ...

  8. redis学习五,redis集群搭建及添加主从节点

    redis集群 java架构师项目实战,高并发集群分布式,大数据高可用,视频教程 在redis3.0之前,出现了sentinel工具来监控各个Master的状态(可以看上一篇博客).如果Master异 ...

  9. Redis学习总结(五)--Redis集群创建

    在之前我们讲到了主从,但是对于大数据量的场景下我们就需要用到集群了,让我们来了解下集群吧. 为什么需要集群 单机内存太小 redis最高可以达到10万/s 请求,如果超过该频率呢? 数据分布方式 数据 ...

  10. 基于docker创建Cassandra集群

    一.概述 简介 Cassandra是一个开源分布式NoSQL数据库系统. 它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynam ...

随机推荐

  1. 使用 DirectSound 录制麦克风音频

    使用 DirectSound 录制麦克风音频 本文所有代码均可在以下仓库找到 https://gitcode.net/PeaZomboss/learnaudios 目录是demo/dscapture ...

  2. Android 初代 K-V 存储框架 SharedPreferences,旧时代的余晖?

    本文已收录到  AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 前言 大家好,我是小彭. SharedPreferences 是 Android 平台上轻量级的 K-V ...

  3. concurrent-map 和 sync.Map,我该选择哪个?

    concurrent-map 和 sync.Map,我该选择哪个? 官方的map并不是线程安全的,如果我们在多线程中并发对一个map进行读写操作,是会引发panic的.解决方案除了使用锁来对map进行 ...

  4. 生物制剂时代的SpA研究正站在十字路口_Appel,Sieper2009

    中信国健临床通讯 2009年第1期 生物制剂时代的脊柱关节炎研究正站在十字路口: 影像学.病理学和结构破坏       Heiner Appel, MD Joachim Sieper, MD   Cu ...

  5. Python批量绘制遥感影像数据的直方图

      本文介绍基于Python中gdal模块,实现对大量栅格图像批量绘制直方图的方法.   首先,明确一下本文需要实现的需求:现需对多幅栅格数据文件进行依据其像元数值的直方图绘制,具体绘制内容即各栅格图 ...

  6. jQuery使用与语法

    jQuery安装 1.从官网Download jQuery | jQuery下载安装: 2.CDN在线加载: statistic CDN:https://cdn.staticfile.org/jque ...

  7. 【Redis的三种数据删除策略】定时定期惰性,超出内存就自动清理

    https://blog.csdn.net/DQWERww/article/details/126453008 https://blog.csdn.net/qq_38056518/article/de ...

  8. 【1】第一篇 Postman的初级使用之设置环境快速切换生成环境与测试环境

    POSTMAN是有谷歌的开源工具,在开发调试.测试执行过程中使用频率非常广泛,本文将记录一些postman在测试中常见的一些配置和使用方法 一.基本的页面区域 略,很简单,大家都会看,再有,学习下面的 ...

  9. FTP传大文件又慢又麻烦,有没有更好的替代传输方案?

    FTP作为常见的文件传输协议已经具有很长的历史,最早可以追溯到上世纪70年代.至今FTP仍然较为活跃,然而许多企业已经开始不满足于FTP的功能局限性,开始另外寻找合适的文件传输产品. 目前数据正在爆炸 ...

  10. go对数组对象排序

    1.根据时间对数组对象排序 package main import (     "fmt"     "time"     "github.com/ah ...