教你一分钟搞定docker+redis哨兵模式
作者:神州永泰 发布时间:2021-02-23 13:51:53
“工欲善其事,必先利其器”,要想在一分钟内搞定docker+redis哨兵模式(一主二从三哨兵),按下述方法,则快捷,迅速,省时省力:
注:本文主要讲解一主二从三哨兵,特将其部署到一台机器上,并通过端口区分(生产环境要部署到三台及以上机器上)。
一 前期准备工作
要求具备下面环境或相应适配版本环境:
※Centos 7.9版
※GNU Make 3.82版
※gcc 4.8.5版
※Docker 20.10.18版
※sentinel.conf文件
下载方法:
wget https://download.redis.io/redis-stable/sentinel.conf
※docker-compose 1.29.2版
技术更新较快,用docker-compose比较快捷。
安装方法:
命令1:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose
命令2:
chmod +x /usr/local/bin/docker-compose
二、部署(一分钟)
1、获取 redis 镜像
安装命令:
docker pull redis:5.0.14
2 建目录
命令1:
mkdir /usr/local/etc/redis
命令2:
mkdir /usr/local/etc/redis/sentinel
3 在 /usr/local/etc/redis 目录下,新建 docker-compose.yml文件
version: '3'
services:
master:
image: redis
container_name: redis-master
command: redis-server
ports:
- 6379:6379
slave1:
image: redis
container_name: redis-slave1
ports:
- 6380:6380
command: redis-server --slaveof redis-master 6379
slave2:
image: redis
container_name: redis-slave2
ports:
- 6381:6381
command: redis-server --slaveof redis-master 6379
4 启动 redis 集群
在./redis目录运行命令:
docker-compose up -d
5查看 redis-master 节点的 docker-ip 和 network name,
见下图,并记住,待配置sentinel的docker-compose文件时用。
命令:
docker inspect redis-master
6.在 /usr/local/etc/redis/sentinel 目录下,新建 docker-compose.yml文件
version: '3'
services:
sentinel1:
image: redis
container_name: redis-sentinel1
ports:
- 26379:26379
command: redis-sentinel /usr/local/etc/redis/sentinel/sentinel1.conf
volumes:
- ./sentinel1.conf:/usr/local/etc/redis/sentinel/sentinel1.conf
sentinel2:
image: redis
container_name: redis-sentinel2
ports:
- 26380:26380
command: redis-sentinel /usr/local/etc/redis/sentinel/sentinel2.conf
volumes:
- ./sentinel2.conf:/usr/local/etc/redis/sentinel/sentinel2.conf
sentinel3:
image: redis
container_name: redis-sentinel3
ports:
- 26381:26381
command: redis-sentinel /usr/local/etc/redis/sentinel/sentinel3.conf
volumes:
- ./sentinel3.conf:/usr/local/etc/redis/sentinel/sentinel3.conf
networks:
default:
external:
name: redis_default
7 将sentinel.conf文件拷贝至/usr/local/etc/redis/sentinel
并复制三份,名称分别为sentinel1.conf 、 sentinel2.conf 、 sentinel3.conf,分别修改三个文件:
修改的内容如下:
修改 sentinel1.conf
文件修改内容如下:
protected-mode no
daemonize yes
port 26379 #sentinel 端口
sentinel monitor mymaster 172.18.0.3 6379 2 #注:172.18.0.3为redis-master的dockerIP
然后修改sentinel2.conf信息如下:
protected-mode no
daemonize yes
port 26380 # sentinel 端口,因为我们在一台虚拟机上,所以端口要不一样
sentinel monitor mymaster 172.18.0.3 6379 2 #注:172.18.0.3为redis-master的dockerIP
然后修改sentinel3.conf信息如下:
protected-mode no
daemonize yes
port 26381 # sentinel 端口,因为我们在一台虚拟机上,所以端口要不一样
dir “/var/llib/redis”
sentinel monitor mymaster 172.18.0.3 6379 2 #注:172.18.0.3为redis-master的dockerIP
8 在./sentinel目录启动 sentinel 集群
命令:
docker-compose up -d
经此8步,完成docker下的redis一主二从三哨兵模式。
三、验证方法
1 验证是否安装好
*检测容器命令:
docker ps
看是否有以下6个容器。
*登录主机命令:
docker exec -it redis-master /bin/bash
redis-cli
info Replication
出现下面画面,证明redis主机安装成功。
*登录从机redis-slave1及redis-slave2命令:
*登录哨兵命令:
docker exec -it redis-sentinel1 /bin/bash
redis-cli -p 26379
info sentinel
如下图,则哨兵安装成功。
*查看哨兵sentinel日志:
命令:
docker logs -f redis-sentinel1
如下图所示,也证明哨兵安装成功
2 1验证主从机切换
*停掉主机redis-master服务,可以直接将容器关掉。
命令:
docker stop redis-master
*登录从机1(slave1)
命令:
docker exec -it redis-slave1 /bin/bash
redis-cli
info Replication
发现从机变为主机,如下图:
来源:https://blog.csdn.net/helloworldchina/article/details/127355618
猜你喜欢
- 09年的离去,带走了些许忧伤,些许痛楚,或许你还沉浸在那过去的一切一切中,但是,面对2010年的到来,我们应该准备些什么了。今年是不平常的一
- 随着Web数据库的应用越来越广泛,Web数据库的安全问题日益突出,如何才能保证和加强数据库的安全性已成为目前必须要解决的问题。数据库系统安全
- DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要手段是通过大于管道处理能力的流量淹没管道或通
- 关于在centos7中设置Nginx开机自启动,我们可以通过编写开机自启动shell脚本来解决。测试环境 操作系统:centos7 64位
- WordPress版本更新非常频繁。这个月WordPress 3.2的Beta 1版本已经发布,如果不出意外,下个月我们会迎来3.2正式版。
- 安装步骤下载地址:6.0版本首先先安装好Oracle VM VirtualBox 安装好后 点击新建弹出新建页面后: 设置名称、安装文件夹、
- MeeGo今日低调地发布了1.0版,这是第一个稳定的,面向上网本和移动产品的版本,并且1.1版的开发已经进行中,它支持触摸式设备,例如手机、
- 一、搜索引擎的搜索过程1、抓取网页:每个独立的搜索引擎都有自己的网页抓取程序(spider,即通常所说的“蜘蛛”程序)。Spider顺着网页
- 一个网络媒体(网站)会包含有数十个甚至成千上万个页面,站点为获得生存,一般都需要在站点投放网络广告。网络广告所投放的位置和价格就牵涉到特定的
- 网络才开始在中国出现的时候,因为带宽和网络技术的限制。当初的互联网相当于文字时代,上网无非就是看看新闻,发发邮件,聊聊天。随着互联网技术的发
- VMware tools是为使用VMware提供了很大的便利。所以安装VMware tools很必要。由于实验需要,我需要安装在VMware
- 对于技术,我只是了解皮毛;对于SEO,也只能算个菜鸟,但是菜鸟对于SEO也有自己的看法,我的第一SEO案例是做自己公司的网站,从这之后又做了
- 搜索引擎营销发展大事记1994年,Yahoo、Lycos等分类目录型搜索引擎的相继诞生,搜索引擎表现出网络营销价值,搜索引擎营销的思想开始出
- 网页游戏从诞生之初带来最多不是对它的好评,而是对它以及整个行业的负面评价,但这些并没有阻拦网页游戏的发展。近日有文章称,2010年的网页游戏
- 2008年4月初开始了健康之家的建设,就从代理商那里买了空间域名,开始建站。一开始用了风讯CMS新闻发布系统,架构好网站以后,因为自己是学生
- Linux已受到越来越多的用户喜爱,为什么它能发展如此之快,而且还广受欢迎呢?安全、方便维护、易使用、免费......这些都是证明Linux
- 目前比较流行的ASP木马主要通过三种技术来进行对服务器的相关操作。一、使用FileSystemObject组件FileSystemObjec
- 在百度搜索给站长的建站建议中的第五条提到:如果没有搜索引擎,你的网站仍然访客盈门,那么你的网站就属于“常青树”了。面向用户做网站,而不要面向
- 对两个虚拟SMTP服务器防止垃圾邮件中转的总结我对两个虚拟SMTP服务器防止垃圾邮件中转的总结:在论坛上看到了很多高手的发言,结合自己在实践
- 要提高网站收录量,无非就是三件事情。1.吸引搜索引擎蜘蛛来到你的网站;2.让搜索引擎顺利的爬行你的网页;3.让搜索引擎蜘蛛觉得你的网页有用,