当前位置: 首页 > 科技观察

Linux_基于Docker搭建Redis集群_0

时间:2023-03-12 06:19:40 科技观察

注意:基于Ubuntu16.04-64位,开始本教程前请确保您的Linux系统已经安装了Docker。第一步:Redis镜像安装1、下载Redis镜像。镜像中心推荐使用网易蜂巢的镜像中心地址:https://c.163.com/hub#/m/home/Redismirrordockerpullhub.c.163.com/library/redis:latest安装完成后使用dockerimages命令检查是否安装成功。第二步:搭建Redis集群1.运行Redis镜像。使用以下命令启动3Redisdockerrun--nameredis-6379-p6379:6379-dhub.c。163.com/library/redisdockerrun--nameredis-6380-p6380:6379-dhub.c.163.com/library/redisdockerrun--nameredis-6381-p6381:6379-dhub.c.163.com/library/redis使用dockerps命令查看是否启动成功。2、配置Redis集群使用dockerinspectcontainerID命令查看三个Redis的Docker内网IP地址。在Networks栏中,您可以看到容器的Docker内网IP地址。三台Redis的内网IP地址如下:redis-6379:172.17.0.3:6379redis-6380:172.17.0.4:6379redis-6381:172.17.0.5:6379进入Docker容器,以redis-6379为宿主,而另外两个是slaves机器使用dockerexec-ti容器ID/bin/bash分别进入三个Redis容器。进入容器后,使用redis-cli命令连接redis服务器,连接服务。使用inforeplication查看当前机器的角色。配置前,三台Redis使用上述方法作为master主机,分别进入redis-6379、redis-6380、redis-6381容器,分别使用SLAVEOF172.17连接到redis-6380和redis-6381中的redis服务器。0.36379redis-6379命令使用inforeplication命令验证主从关系是否配置成功。这样redis集群环境就搭好了,本地测试没有问题,这里就不演示了。为了保证redis集群的高可用,下面开始配置redissentinel模式。第三步:Redissentinel模式1.配置RedissentinelRedissentinel配置,有两个选项。方案一:在现有3个Redis容器服务的基础上,互相启动一个Redissentinel方案二:重启3个Redis容器服务,分别启动一个RedisSentinel方案2会新增3个Redis容器服务,所以这里的demo方案1进入分别进入三个Redis容器,并执行以下操作首先进入Docker容器,使用dockerexec-ticontainerID/bin/bash分别进入三个Redis容器,然后使用cd/命令写入Redissentinel配置文件,输入根目录并使用touchsentinel.conf命令,创建一个sentinel配置文件,使用vim命令编辑sentinel.conf文件,添加如下sentinelmonitorhost6379172.17.0.363791编辑时需要按照vim首先命令是apt-getupdate,apt-getinstallvim–y最后启动RedisSentinel使用redis-sentinel/sentinel.conf启动RedisSentinel监控使用ps–ef|grepredis命令,可以看到目前redis-server和redis-sentinel都在运行,并且配置了sentinel模式。按理说不应该在容器内部进行操作,但是由于个人能力有限,一直没有找到其他的解决办法。还有其他配置redissentinel模式的方法,欢迎指教!第四步:验证1.验证使用dockerps命令查看运行镜像通过查看redissentinel日志,可以看到redissentinel在我们关闭redis主机的时候,在监听的时候,可以看到redis重新选举了一个新的主人