前言:只有一台华为云服务器,所以打算创建三个容器来模拟三个服务器了。

一:拉取redis镜像

二:拉取redis.conf文件

放在自定义的目录下:wget -c http://download.redis.io/redis-stable/redis.conf

三:启动三个redis容器,redis_1,redis_2,redis_3

 --name:自定义启动容器名称
-v 主机redis.conf 和redis容器做映射
-d 后台启动
-p 端口映射 6379是redis端口 26379是哨兵端口
redis:镜像名称
docker run --name redis_1 -v /usr/local/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -d -p 6379:6379 -p 26379:26379 redis

四:测试三个单机redis

进入容器:

docker  exec  -it  容器id  /bin/bash

 docker exec -it 1e8c3a92a6f4 /bin/bash

执行redis-cli进入redis

功能正常之后查看角色,因为现在刚创建出来都是单机的。输入:info  命令显示都是master

五:手动设置主从关系

这里使用到的IP是容器里的IP,可以通过:docker inspect redis_1查看容器映射出来的ip。

我们这里把redis_1设置为主,redis_2,redis_3设置为从。

进入redis_2容器,打开redis-cli,输入 SLAVEOF IP  PORT

即可完成主机的绑定,再次执行INFO命令就可以看到角色发生了变化,且主机也显示了。

redis_3也这样执行。

执行完我们进入redis_1中,执行INFO可以看到主从关系已经生效:

六:测试主从关系

在redis_1中执行set命令可以正常set,get。

我们去redis_2,redis_3中看下能否获取到。

redis_2正常获取

这里需要注意的一点,SLVAE角色的redis只能读取不能set的。

只有master才能读写。

redis_3也是这样的。

 redis主从复制集群的特点,读写分离。

七:在主从集群的基础上搭建哨兵模式

进入三个redis容器,

1: 先更新在安装vim

apt-get update
apt-get install -y vim

在容器的根目录下创建sentinel.conf文件。vim sentinel.conf。写入以下配置:

port 26381 #哨兵端口号 一定要和启动命令映射第二个端口号一致  26379   26380  26381
daemonize yes #后台启动
sentinel monitor master_redis 主节点ip 主节点端口 2 #这里的ip也是master容器映射出来的ip 端口是master映射到外面的端口 6379 最后的2表示 有2两个哨兵

2: 执行这个配置文件:redis-sentinel sentinel.conf

查看运行的sentinel进程:

在容器里安装ps命令。

 apt-get install procps

安装成功之后  :ps -ef 看到sentinel进程已经启动了。

三个容器的哨兵进程都启动后,可以看到

可以测试下把master节点的redis停掉,过一会slave中的某个节点会担任master节点。

单台服务器-利用docker搭建Redis哨兵集群模式的更多相关文章

  1. docker搭建redis主从集群和sentinel哨兵集群,springboot客户端连接

    花了两天搭建redis主从集群和sentinel哨兵集群,讲一下springboot客户端连接测试情况 redis主从集群 从网上查看说是有两种方式:一种是指定配置文件,一种是不指定配置文件 引用地址 ...

  2. Docker 搭建 Redis Cluster 集群环境

    使用 Docker 搭建 Redis Cluster,最重要的环节就是容器通信的问题,这一块我们在之前的文章中已经给大家解决了<Docker 网络模式详解及容器间网络通信>,本篇文章主要练 ...

  3. Redis进阶实践之十 Redis哨兵集群模式

    一.引言             上一篇文章我们详细的讲解了Redis的主从集群模式,其实这个集群模式配置很简单,只需要在Slave的节点上进行配置,Master主节点的配置不需要做任何更改,但是有一 ...

  4. docker-compose搭建redis哨兵集群

    头脑风暴 出于学习目的,您可以很轻松地在docker环境下运行redis的单个实例,但是如果您需要在生产环境中运行它,那么必须将Redis部署为HA(High Avaliable)模式. Redis ...

  5. Docker Compose 搭建 Redis Cluster 集群环境

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

  6. redis哨兵集群搭建

    下载redis jar包redis-4.0.11.tar.gz放在/data/redis目录下 解压 命令:tar -zxvf redis-4.0.11.tar.gz 解压后如图所示 在/usr/lo ...

  7. 一、全新安装搭建redis主从集群

    前言· 这里分为三篇文章来写我是如何重新搭建redis主从集群和哨兵集群的及原本服务器上有单redis如何通过升级脚本来实现redis集群.(redis结构:主-从(备)-从(备)) 至于为什么要搭建 ...

  8. 【精】搭建redis cluster集群,JedisCluster带密码访问【解决当中各种坑】!

    转: [精]搭建redis cluster集群,JedisCluster带密码访问[解决当中各种坑]! 2017年05月09日 00:13:18 冉椿林博客 阅读数:18208  版权声明:本文为博主 ...

  9. 11.Redis 哨兵集群实现高可用

    作者:中华石杉 Redis 哨兵集群实现高可用 哨兵的介绍 sentinel,中文名是哨兵.哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能: 集群监控:负责监控 redis mast ...

随机推荐

  1. 对着爬虫网页HTML学习Python正则表达式re

    1.正则表达式初探 用比较经典的例子,查找一段文本中的手机号码.比如对于文本"我现在用的电话是188-8888-8888,之前那个186-6666-6666已经不用了",我们想获取 ...

  2. 这嘎哒真TM那啥!Python版东北话编程火爆网络

    还记得那个刷爆朋友圈的那个文言文编程语言么? 这个项目是一位名为Huang Lingdong的大四学生创建的,当时,就连中科院计算所研究员.机器翻译领域知名专家刘群老师都赞叹道: 后生可畏 近日,Gi ...

  3. Python之excel第三方库xlrd和xlwt

    Python读取excel表格的库xlrd,首先安装xlrd: pip3 install xlrd 代码: #!usr/bin/env python3 #!-*-coding=utf-8 -*- '' ...

  4. 30G 上亿数据的超大文件,如何快速导入生产环境?

    Hello,大家好,我是楼下小黑哥~ 如果给你一个包含一亿行数据的超大文件,让你在一周之内将数据转化导入生产数据库,你会如何操作? 上面的问题其实是小黑哥前段时间接到一个真实的业务需求,将一个老系统历 ...

  5. 2020年Spring Cloud最后一个大版本发布!

    2020年12月22日,Spring Cloud 2020.0 正式发布GA版本! 版本说明 每次Spring Cloud的大版本发布,我们都要先弄清楚,它对应的Spring Boot版本是哪个! 该 ...

  6. NET 5 爬虫框架/抓取数据

    爬虫大家或多或少的都应该接触过的,爬虫有风险,抓数需谨慎.  爬虫有的是抓请求,有的是抓网页再解析 本着研究学习的目的,记录一下在 .NET Core 下抓取数据的实际案例.爬虫代码一般具有时效性,当 ...

  7. 什么是泛型?,Set集合,TreeSet集合自然排序和比较器排序,数据结构-二叉树,数据结构-平衡二叉树

    ==知识点== 1.泛型 2.Set集合 3.TreeSet 4.数据结构-二叉树 5.数据结构-平衡二叉树 ==用到的单词== 1.element[ˈelɪmənt] 要素 元素(软) 2.key[ ...

  8. 如何实现Application event,观察者模式

    spring 事件为bean 与 bean之间传递消息.一个bean处理完了希望其余一个接着处理.这时我们就需要其余的一个bean监听当前bean所发送的事件. spring事件使用步骤如下: 1.先 ...

  9. Java8接口的默认方法

    项目实战 实现上图接口的实现类有很多,其中有些实现类已经在生成环境了,现在需要新增几个实现类,都需要有回调方法,所以在接口中添加了一个回调的默认方法,如果使用接口的普通方法就得改所有实现了接口的实现类 ...

  10. MySQL--运行机制,SQL执行顺序,Explain

    MySQL的运行机制是什么?  首先客户端先要发送用户信息去服务器端进行授权认证,当输入正确密码之后可以连接到数据库了,当连接服务器端成功之后就可以正常的执行 SQL 命令了,MySQL 服务器拿到 ...