代码改变世界

Docker:Docker搭建Redis集群(6)

2017-08-22 17:42  huoit  阅读(1058)  评论(0编辑  收藏  举报

国外的公有云实在是太慢了,经常time out 这里搜集几个国内出名的:

hub.c.163.com (网易:https://c.163.com/hub#/m/home/)

dev.aliyun.com/search.html (阿里云:需要登录获取加速地址)

 

一、Redis容器

下载镜像

docker pull hub.c.163.com/library/redis

 

运行3个redis容器;

docker run --name redis-6379 -p 6379:6379 -d hub.c.163.com/library/redis
docker run --name redis-6380 -p 6380:6379 -d hub.c.163.com/library/redis
docker run --name redis-6381 -p 6381:6379 -d hub.c.163.com/library/redis

 生产环境我们一般还要挂载配置文件进去;例如

拷贝桌面的配置到VirtualBox

cp -r ~/Desktop/redis-6379 /usr/local/redis/

运行容器

docker run -v /usr/local/redis/redis-6379/redis.conf:/usr/local/etc/redis/redis.conf --name redis-6379 -p 6379:6379 -d hub.c.163.com/library/redis redis-server  /usr/local/etc/redis/redis.conf

 

查看每个容器的IP

docker inspect redis-6381

 

这里查到3个redis的ip分别是:172.17.0.2、172.17.0.3、172.17.0.4

 

二、配置Redis集群主从

docker exec -ti redis-6381 /bin/bash

redis-cli

info replication

 

这里把redis-6380(172.17.0.3)和redis-6381(172.17.0.4)配置为redis-6379(172.17.0.2)的从属

slaveof 172.17.0.2 6379

验证一下

 

三、Redis哨兵(Sentinel )

 哨兵模式简单说就是在后台有一个监控,监控当前的主机并巡逻主机下面的从机,如果某一时刻主机挂掉了,那么他会通过一种投票的机制从从机之中选举一台作为新的主机,并且其余的从机将会连接到这个新的主机上面,完成故障转移

主从模式就是一个中心化的结构;通过哨兵完成去中心化;

 

进入主机;默认没有安装vim,先安装vim

 cd /

apt-get update

apt-get install vim –y

创建sentinel.conf配置:

touch /sentinel.conf

vim /sentinel.conf

输入:sentinel monitor redis-6379 172.17.0.2 6379 2

esc进入命令输入":wq"保存退出

相关:

:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑

启动sentinel:

redis-sentinel /sentinel.conf

 

查看下进程:redis-sentinel已经运行

ctrl+z回到命令终端

ps –ef |grep redis

 

相同的方法配置其他的几个redis

 

 

 

 

 

 

 

 

还有容灾和故障处理的配置自行脑补;本文都是通过命令演示核心内容,生产环境做好配置文件维护;

 

文档:

国内hub加速地址

http://blog.csdn.net/u014231523/article/details/61197945