单台服务器-利用docker搭建Redis哨兵集群模式
前言:只有一台华为云服务器,所以打算创建三个容器来模拟三个服务器了。
一:拉取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哨兵集群模式的更多相关文章
- docker搭建redis主从集群和sentinel哨兵集群,springboot客户端连接
花了两天搭建redis主从集群和sentinel哨兵集群,讲一下springboot客户端连接测试情况 redis主从集群 从网上查看说是有两种方式:一种是指定配置文件,一种是不指定配置文件 引用地址 ...
- Docker 搭建 Redis Cluster 集群环境
使用 Docker 搭建 Redis Cluster,最重要的环节就是容器通信的问题,这一块我们在之前的文章中已经给大家解决了<Docker 网络模式详解及容器间网络通信>,本篇文章主要练 ...
- Redis进阶实践之十 Redis哨兵集群模式
一.引言 上一篇文章我们详细的讲解了Redis的主从集群模式,其实这个集群模式配置很简单,只需要在Slave的节点上进行配置,Master主节点的配置不需要做任何更改,但是有一 ...
- docker-compose搭建redis哨兵集群
头脑风暴 出于学习目的,您可以很轻松地在docker环境下运行redis的单个实例,但是如果您需要在生产环境中运行它,那么必须将Redis部署为HA(High Avaliable)模式. Redis ...
- Docker Compose 搭建 Redis Cluster 集群环境
在前文<Docker 搭建 Redis Cluster 集群环境>中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Dock ...
- redis哨兵集群搭建
下载redis jar包redis-4.0.11.tar.gz放在/data/redis目录下 解压 命令:tar -zxvf redis-4.0.11.tar.gz 解压后如图所示 在/usr/lo ...
- 一、全新安装搭建redis主从集群
前言· 这里分为三篇文章来写我是如何重新搭建redis主从集群和哨兵集群的及原本服务器上有单redis如何通过升级脚本来实现redis集群.(redis结构:主-从(备)-从(备)) 至于为什么要搭建 ...
- 【精】搭建redis cluster集群,JedisCluster带密码访问【解决当中各种坑】!
转: [精]搭建redis cluster集群,JedisCluster带密码访问[解决当中各种坑]! 2017年05月09日 00:13:18 冉椿林博客 阅读数:18208 版权声明:本文为博主 ...
- 11.Redis 哨兵集群实现高可用
作者:中华石杉 Redis 哨兵集群实现高可用 哨兵的介绍 sentinel,中文名是哨兵.哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能: 集群监控:负责监控 redis mast ...
随机推荐
- 【剑指offer】00 开撸剑指offer
此篇为刷题链接集合,我会将剑指offer中的每一题单独做一篇随笔,然后将链接加在本篇随笔中. //将用JavaScript解题 剑指offer:https://www.nowcoder.com/ta/ ...
- 容器编排系统K8s之StatefulSet控制器
前文我们聊到了k8s的configmap和secret资源的说明和相关使用示例,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14194944.html:今天 ...
- Win10环境安装node.js和npm
Node.js和npm的关系 Node.js是一个基于Chrome V8引擎的JavaScript运行环境,使用了事件驱动非阻塞式I/O模型. npm(Node Package Manager)是一个 ...
- 学习 Gin 总结(2020.12.30-31)
2020.12.30 问题总结 中间件 context.Next() 源码注释: // Next should be used only inside middleware. // It execut ...
- Maven安装配置和IDEA创建Maven项目
maven 一个项目架构管理工具(约定大于配置) 1.配置 M2_HOME:指向maven bin目录 以后bootstrop要用 MAVEN_HOME:指向maven目录 path:指向maven ...
- 出现org.apache.ibatis.binding.BindingException异常
出现绑定式异常 查看target文件夹里面再mapper中,发现运行时缺少xml文件 解决办法 1.将xml文件复制到target中Mapper文件夹下面. 2.将xml放到resource目录下 3 ...
- druid监控
1 @ConfigurationProperties(prefix = "spring.datasource") 2 @Bean 3 public DataSource druid ...
- 树莓派(4B)新手入门教程
前期准备 必要物料 树莓派4B 主机 Type-C 电源 内存卡(8G+) 一般建议一步到位64G 系统镜像 镜像写入工具 下载地址 镜像下载 官方下载地址: https://www.raspberr ...
- HDU6375双端队列
要点分析: 1.本题可以使用C++STL中的deque双端队列来方便解决(底层是一个双向的链表) 2.值得注意的是N的上限为150000,所以直接开这么大的空间会超内存,可以配合map一起使用 关于双 ...
- Python模块化编程与装饰器
Python的模块化编程 我们首先以一个例子来介绍模块化编程的应用场景,有这样一个名为requirements.py的python3文件,其中两个函数的作用是分别以不同的顺序来打印一个字符串: # r ...