基于Docker搭建Redis一主两从三哨兵

本文详述了如何借助Docker在三台Debian主机上搭建Redis的一主两从三哨兵配置。首先,分别在主机上安装Docker并启动redis-server服务,设定35.236.172.131为主,其他两台为从。接着,启动redis-sentinel以实现故障自动切换。通过配置文件修改、拉取镜像、启动容器等步骤,成功完成主从复制的设置。哨兵系统在主节点故障时能够自动进行故障转移,提高系统的可用性。
摘要由CSDN通过智能技术生成

这段时间正在学习Redis和容器相关的内容,因此想通过docker搭建一套redis主从系统来加深理解。看这篇文章可能你需要一定的docker基础,以及对redis主从和哨兵机制有所了解。

这次实验准备了三台云主机,系统为Debian,ip分别为:

35.236.172.131 ,

35.201.200.251,

34.80.172.42。

首先分别在这三台主机上安装docker,然后每台主机上启动一个redis容器,运行redis-server服务,其中35.236.172.131作为master,另外两台机器作为slave,最后在三台主机上再分别启动一个redis容器,运行redis-sentinel。为什么还是redis容器呢?因为sentinel实际上还是一个redis-server,只不过是以sentinel模式执行,只能处理sentinel需要的一些命令。

安装docker

docker的安装有很多种方法,这里就不介绍了。本次使用脚本安装docker,Debian系统脚本安装如下,其他系统可以参考Docker官网的安装方法:

https://docs.docker.com/install/linux/docker-ce/debian/

不过下面的命令在官网命令的基础上修改镜像源为阿里云,因为国内镜像往往会快一些。

脚本安装docker

在物理主机或者云虚拟主机上运行下面的命令就可以完成docker安装了,当然我是在Debian系统上,其他系统相应参考官网上的方法。

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun

启动docker CE

docker是以客户端和服务器模型运行的,因此需要先运行docker的服务器,服务器以daemon的形式运行。docker CE是docker的社区版本。

$ sudo systemctl enable docker
$ sudo systemctl start docker

验证docker是否安装成功

下面的这条命令是从docker的官方仓库拉取一个名为hello-world的镜像,并通过这个镜像启动一个容器。

$ docker run hello-world

如果运行结果如下,出现了Hello from Docker!,说明docker安装成功了

$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:6540fc08ee6e6b7b63468dc3317e3303aae178cb8a45ed3123180328bcc1d20f
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 (amd64)
 3. The Docker daemon created a new container from that image which runs the
 executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
 to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/
For more examples and ideas, visit:
 https://docs.docker.com/get-started/

启动容器搭建主从

docker安装成功后,可以开始部署redis服务了。先从docker官方公共仓库拉取redis镜像,然后修改redis服务的配置文件,最后启动容器,启动redis服务器。在多台机器上运行redis服务器,并建立主从关系。

redis的主从是实现redis集群和redis哨兵高可用的基础,redis的主从结构使从可以复制主上的数据,如果从与主之间网络断开,从会自动重连到主上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值