基于docker安装redis、搭建集群–配置主从哨兵
1、安装docker
这里不详细介绍了
2、安装redis
这里我准备了三台机器
192.168.1.104
192.168.1.106
192.168.1.107
在指定目录创建redis.conf文件,我这里的目录是/zhouyx/redis/redis.conf
wget -c http://download.redis.io/redis-stable/redis.conf
pull redis镜像
docker pull redis
#默认为latest版本
三台机器都启动redis
#/zhouyx/redis/redis.conf为之前创建redis.conf的目录
docker run --name redis -v /zhouyx/redis/redis.conf:/usr/local/etc/redis/redis.conf -d -p 6379:6379 -p 26379:26379 redis
参数详解:
docker:死记硬背。
run:启动容器固定写法
--name:自定义启动容器名称
-v 主机redis.conf 和redis容器做映射
-d 后台启动
-p 端口映射 6379是redis端口 26379是哨兵端口
redis:镜像名称
进入容器内部命令:docker exec -it 容器id/容器名称 /bin/bash(固定写法记住就好了)
docker exec -it redis /bin/bash
进入容器输入:redis-cli 就能对redis进行操作了
3、配置主从
此时我们输入 info replication 查看,三台机器都为master节点
此时这样设置:
- 192.168.1.104 (master)主
- 192.168.1.106 (slave)从
- 192.168.1.107 (slave)从
#绑定主redis信息:slaveof 主ip 主端口
#192.168.1.106与192.168.1.107 绑定主redis 192.168.1.104 6379
slaveof 192.168.1.104 6379
设置好后 info replication 查看三台redis节点信息
192.168.1.104:
192.168.1.106:
192.168.1.107:
主节点存取数据,从节点能同步数据。
从节点此时不能存数据
至此我们redis主从就搭建完毕了。
4、配置哨兵
1、进入三台redis容器:
进入三台redis容器:docker exec -it 容器id/容器名称 /bin/bash
2、进入容器根目录
3、创建哨兵配置文件:vim sentinel.conf(三台容器哨兵配置一模一样)
4.输入:
port:26379 #哨兵端口号 一定要和启动命令映射第二个端口号一致
daemonize yes #后台启动
logfile "/var/log/sentinel_log.log"
sentinel monitor mymaster 主节点ip 主节点端口 2
5、依次三台在sentinel.conf 配置文件同一级目录执行:redis-sentinel sentinel.conf
#进入三台redis容器:
docker exec -it redis /bin/bash
#进入容器根目录
cd /
#创建哨兵配置文件:
touch sentinel.conf
#输入:
echo "daemonize yes" > /sentinel.conf
echo "logfile \"/var/log/sentinel_log.log\"" >> /sentinel.conf
echo "sentinel monitor mymaster 192.168.1.104 6379 2" >> /sentinel.conf
#在三台在sentinel.conf 配置文件同一级目录启动
redis-sentinel sentinel.conf