docker 安装redis 6.0.8哨兵集群(一主两从三哨兵)
准备三台主机并且安装了docker
192.168.31.132
192.168.31.134
192.168.31.144
linux 版redis6.0.8 下载
下载地址:https://download.redis.io/releases/
干啥用:拷贝出redis.conf文件,在此文件里配置主从关系,最好不要使用不同版本的配置文件,防止出现配置文件的参数不兼容问题
安装步骤
在三台主机上分别建立目录/home/docker/redis,并且把redis.conf文件都复制过去,132作为master,134以及144作为salve。
在132修改配置./redis_master.conf文件,134以及144的配置文件分别为./redis_slave1.conf、./redis_slave/redis_slave2.conf
- redis_master.conf文件修改
# 注释这一行,表示Redis可以接受任意ip的连接
# bind 127.0.0.1
# 关闭保护模式
protected-mode no
# 让redis服务后台运行
daemonize no
# 设定主库的密码,用于认证,如果主库开启了requirepass选项这里就必须填相应的密码
masterauth 123456
# 设定密码(可选,如果这里开启了密码要求,slave的配置里就要加这个密码. 只是练习配置,就不使用密码认证了)
requirepass 123456
# 配置日志路径,为了便于排查问题,指定redis的日志文件目录
logfile "/data/redis.log"
- redis_slave.conf 文件修改
# 注释这一行,表示Redis可以接受任意ip的连接
# bind 127.0.0.1
# 关闭保护模式
protected-mode no
# 让redis服务后台运行
daemonize no
# 设定密码(可选,如果这里开启了密码要求,slave的配置里就要加这个密码123456)
requirepass 123456
# 设定主库的密码,用于认证,如果主库开启了requirepass选项这里就必须填相应的密码
masterauth 123456
# 设定master的IP和端口号,redis配置文件中的默认端口号是6379
replicaof 198.168.31.132 6379
# 配置日志路径,为了便于排查问题,指定redis的日志文件目录
logfile "/data/redis.log"
- master配置文件修改之后,执行docker 安装命令
docker network create --driver bridge redis-net
docker run -it --name redis-master --network=redis-net -p 6379:6379 -v /home/docker/redis/redis_master.conf:/usr/local/redis/redis.conf -v /home/docker/redis:/data -d redis:6.0.8 redis-server /usr/local/redis/redis.conf
docker run -it --network=redis-net -d -p 6379:6379 -p 16379:16379 -v /home/docker/redis/redis_slave1.conf:/etc/redis/redis.conf -v /home/docker/redis/data:/data --name redis-slave1 redis:6.0.8 redis-server /etc/redis/redis.conf
docker run -it --network=redis-net -d -p 6379:6379 -p 16379:16379 -v /home/docker/redis/redis_slave/redis_slave2.conf:/etc/redis/redis.conf -v /home/docker/redis/redis_slave/data:/data --name redis-slave2 redis:6.0.8 redis-server /etc/redis/redis.conf
- 容器启动成功之后,进入容器查看redis信息,

docker ps -a
docker exec -it 容器id /bin/bash
redis-cli
auth 123456
info
- 验证一主二从是否搭建成功,使用info命令查看,出现如下信息


哨兵集群准备
在redis6.0.8里拷贝出sentinel.conf文件,这里在144主机上搭建,目录准备

- 修改redis_sentinelx.conf文件
# 让sentinel服务后台运行
daemonize no
# 修改日志文件的路径
logfile "/data/sentinel.log"
# 修改监控的主redis服务器
# 最后一个2表示,两台机器判定主被动下线后,就进行failover(故障转移)
sentinel monitor mymaster 192.168.31.132 6379 2
# 主数据库密码,需要将配置放在sentinel monitor mymaster 192.168.31.132 6379 2下面
sentinel auth-pass mymaster 123456
- 安装步骤
docker run -it --network=redis-net -d -p 26380:26380 -v /home/docker/redis/redis_sentinel1/sentinel.conf:/etc/redis/sentinel1/sentinel.conf -v /home/docker/redis/redis_sentinel1/data:/data --name redis-sentinel1 redis:6.0.8 redis-sentinel /etc/redis/sentinel1/sentinel.conf
docker run -it --network=redis-net -d -p 26381:26381 -v /home/docker/redis/redis_sentinel2/sentinel.conf:/etc/redis/sentinel2/sentinel.conf -v /home/docker/redis/redis_sentinel2/data:/data --name redis-sentinel2 redis:6.0.8 redis-sentinel /etc/redis/sentinel2/sentinel.conf
docker run -it --network=redis-net -d -p 26382:26382 -v /home/docker/redis/redis_sentinel3/sentinel.conf:/etc/redis/sentinel3/sentinel.conf -v /home/docker/redis/redis_sentinel3/data:/data --name redis-sentinel3 redis:6.0.8 redis-sentinel /etc/redis/sentinel3/sentinel.conf
- 验证
docker exec -it 容器id /bin/bash
redis-sentoinel
docker 安装redis 6.0.8哨兵集群(一主两从三哨兵)的更多相关文章
- centos安装redis 5.0版本的集群
我在本地VM-Centos里安装5.0.5时安装遇到了些问题,参考了Blog:https://www.cnblogs.com/shawhe/p/9548620.html 顺利安装完成. 安装redis ...
- redis(一主两从三哨兵模式搭建)记录
转自:http://www.cnblogs.com/fly-piglet/p/9836314.html 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也 ...
- 【运维技术】redis(一主两从三哨兵模式搭建)记录
redis(一主两从三哨兵模式搭建)记录 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也包含我自己,能够节省对应的时间. 软件架构: 生产环境使用三台 ...
- 实践 - 搭建Redis一主两从三哨兵
实践 - 搭建Redis一主两从三哨兵 原因: 最近在复习Redis的时候,学习到了为了提高Redis集群的高可用性,有一个模式为哨兵模式.哨兵模式的作用是为了在主节点出现阻塞或者错误,无法接收数据的 ...
- docker安装redis 5.0.7并挂载外部配置和数据
环境 CentOS Linux release 7.7.1908 (Core) 拉取redis 5.0.7 镜像 docker pull redis:5.0.7 创建挂载目录 mkdir -p /ho ...
- redsi一主两从三哨兵
1.前提准备 防火墙,selinux,主机名解析,所有主机安装gcc [root@localhost ~]# vim /etc/hosts 192.168.122.135 redis_master ...
- Docker搭建Redis一主两从三哨兵
作者:oscarwin juejin.im/post/5d26b03de51d454fa33b1960 这次实验准备了三台云主机,系统为Debian,ip分别为:35.236.172.131 ,35. ...
- docker镜像创建redis5.0.3容器集群
拉取redis5.0.3镜像 # docker pull daocloud.io/library/redis:5.0.3 [root@localhost ~]# docker pull daoclou ...
- Redis哨兵集群创建脚本--v2
1. 基础环境 操作系统版本 CentOS Linux release 7.6.1810 (Core) Docker 版本 19.03.11, build 42e35e61f3 Redis 版本 ...
- 11.Redis 哨兵集群实现高可用
作者:中华石杉 Redis 哨兵集群实现高可用 哨兵的介绍 sentinel,中文名是哨兵.哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能: 集群监控:负责监控 redis mast ...
随机推荐
- CSS页面布局方式
css页面布局方式 1.标准流 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- If选择语句的用法
今天我们学习下If判断语句. 首先了解下它有几种用法: If单选择语句 If双选择语句 If多选择语句 我们一个一个用,每一个用法都给一个运用的过程演练一下. If单选择语句:我们很多需要判断一个东西 ...
- 深度学习--实战 LeNet5
深度学习--实战 LeNet5 数据集 数据集选用CIFAR-10的数据集,Cifar-10 是由 Hinton 的学生 Alex Krizhevsky.Ilya Sutskever 收集的一个用于普 ...
- Spring注解@Conditional相关用法
1.@Conditional注解 @Conditional 是Spring4新提供的注解. 它的作用是按照一定的条件进行判断,满足条件给容器注册bean,否则不注入. 可以作用在方法上,也可以作用在类 ...
- go slice使用
1. 简介 在go中,slice是一种动态数组类型,其底层实现中使用了数组.slice有以下特点: *slice本身并不是数组,它只是一个引用类型,包含了一个指向底层数组的指针,以及长度和容量. *s ...
- [C++核心编程] 1、内存分区模型
文章目录 1 内存分区模型 1.1 程序运行前 1.2 程序运行后 1.3 new操作符 1 内存分区模型 C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进 ...
- 前端Vue项目打包性能优化方案
一.前言 Vue 框架通过数据双向绑定和虚拟 DOM 技术,帮我们处理了前端开发中最脏最累的 DOM 操作部分, 我们不再需要去考虑如何操作 DOM 以及如何最高效地操作 DOM:但 Vue 项目中仍 ...
- 2023-02-14:魔物了占领若干据点,这些据点被若干条道路相连接, roads[i] = [x, y] 表示编号 x、y 的两个据点通过一条道路连接。 现在勇者要将按照以下原则将这些据点逐一夺回:
2023-02-14:魔物了占领若干据点,这些据点被若干条道路相连接, roads[i] = [x, y] 表示编号 x.y 的两个据点通过一条道路连接. 现在勇者要将按照以下原则将这些据点逐一夺回: ...
- 2020-10-30:给定一个正数数组arr(即数组元素全是正数),找出该数组中,两个元素相减的最大值,其中被减数的下标不小于减数的下标。即求出: maxValue = max{arr[j]-arr[i] and j >= i}?
福哥答案2020-10-30:1.双重遍历法.2.一次遍历法.golang代码如下: package main import "fmt" const INT_MAX = int(^ ...
- 2020-12-13:用最少数量的线程,每个线程执行for的空循环,把cpu打满了。如果在for的空循环里添加打印输出函数,会把cpu打满吗?为什么?
福哥答案2020-12-13:不会.输出会进行io操作,相对于CPU的速度,这是一个非常缓慢的过程,所以CPU会有机会空闲下来.***[评论](https://user.qzone.qq.com/31 ...