docker搭建redis集群

过程

拉取最新redis镜像

docker pull redis

启动3个镜像

docker run --name redis-6379 -p 6379:6379 -d redis:latest 	# 使用已有的镜像可以,使用网址也行如 hub.c.163.com/library/redis
docker run --name redis-6380 -p 6380:6379 -d redis:latest 	# -d detach 表示后台运行,一般都要加这个参数
docker run --name redis-6381 -p 6381:6379 -d redis:latest

docker ps -a 命令,查看并记录3个容器id,如结果为:

63add274507d  6379
1c9eed8fb4ae  6380
f47311784c6b  6381

inspect命令查看6379容器内网ip:

docker inspect 63add274507d | grep IPAddress;  # 如内网ip为 172.17.0.5,这里的IPAddress区分大小写

分别进入容器内部,连接redis,并查看redis信息。

docker exec -ti 63add274507d /bin/bash  # 进入redis容器内
docker exec -ti 1c9eed8fb4ae /bin/bash
docker exec -ti f47311784c6b /bin/bash

redis-cli	# 连接redis
info replication	# 查看信息

发现未配置前,3台都是master。

在6380、6381 上执行命令配置6379为主库:

SLAVEOF 172.17.0.5 6379   # ip是6379的内网ip
SLAVEOF 172.17.0.5 6379		# ip是6379的内网ip

再次查看info replication,6379信息如下:

127.0.0.1:6379> info replication
# Replication 
role:master   # 是主库
connected_slaves:2  # 有2个从库
slave0:ip=172.17.0.3,port=6379,state=online,offset=2870,lag=0	# 从库1
slave1:ip=172.17.0.4,port=6379,state=online,offset=2870,lag=1	# 从库2

在6380、6381容器上信息如下:

127.0.0.1:6379> info replication
# Replication
role:slave  # 是从库
master_host:172.17.0.5  # 主库地址
master_port:6379  # 主库端口

集群搭建成功。

哨兵模式

哨兵模式有什么用

监控
Sentinel会不断地检查你的主从服务是否正常。比如shutdown掉一个从库,
Sentinel就可以监控到,并打印日志。
提醒
当被监控的某个Redis服务器出现问题时,Sentinel可以通过API向管理员或者其他应用程序发送通知。
自动故障迁移
当一个主服务器不能正常工作时,Sentinel 会开始一次自动故障迁移操作,它会将失效主服务器的其中一个从服务器升级为新的主服务器,并让失效主服务器的其他从服务器改为复制新的主服务器;当客户端试图连接失效的主服务器时,集群也会向客户端返回新主服务器的地址,使得集群可以使用新主服务器代替失效服务器。

开始搭建

根据之前的操作继续,分别进入3个容器:

docker exec -ti 63add274507d /bin/bash
docker exec -ti 1c9eed8fb4ae /bin/bash
docker exec -ti f47311784c6b /bin/bash

要用vim编辑sentinel.conf,先安装所需(实在是慢):

apt-get update ;
apt-get install vim ;

cd / 进入根目录,
vim sentinel.conf 创建并编辑文件,内容为:

sentinel monitor host6379 172.17.0.5 6379 1

redis-sentinel /sentinel.conf 分别启动监控,完成。

可以kill掉一个从库,看看其他sentinel是否打印日志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值