Linux_基於Docker搭建Redis集羣

時間:2017年07月11日星期二redis

說明:基於Ubuntu16.04-64bit,開始本教程前,請確保您的Linux系統已安裝Docker。docker

步驟一:Redis鏡像安裝

一、下載Redis鏡像

鏡像中心vim

推薦使用網易蜂巢的鏡像中心
地址:https://c.163.com/hub#/m/home/

Redis鏡像bash

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

安裝完成後,使用docker images命令,查看是否安裝成功測試

clipboard.png

步驟二:Redis集羣搭建

一、運行Redis鏡像

分別使用如下命令啓動3個Redisspa

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

使用docker ps命令,查看是否啓動成功3d

clipboard.png

二、配置Redis集羣

分別使用 docker inspect 容器ID 命令,查看3個Redis的Docker內網IP地址日誌

clipboard.png

在Networks欄,能夠看見該容器的Docker內網IP地址。
三個Redis的內網IP地址以下code

redis-6379:172.17.0.3:6379
redis-6380:172.17.0.4:6379
redis-6381:172.17.0.5:6379

進入Docker容器內部server

使用redis-6379爲主機,其他兩臺爲從機
使用 docker exec -ti 容器ID /bin/bash 分別進入三個Redis容器
進入容器後,使用 redis-cli 命令,鏈接redis服務端
鏈接服務後,使用 info replication 查看當前機器的角色
未配置前,三臺redis均爲 master主機

clipboard.png

使用上面的方法,分別進入 redis-637九、redis-6380、redis-6381容器內部,並鏈接redis服務端

分別在redis-6380和redis-6381使用 SLAVEOF 172.17.0.3 6379 命令
在redis-6379 使用 info replication 命令,驗證主從關係是否配置成功

clipboard.png

這樣,redis的集羣環境就搭建好了,本機測試無問題,這裏就不演示了。爲了保證redis集羣的高可用,下面開始配置redis哨兵模式。

步驟三:Redis哨兵模式

一、配置Redis哨兵

Redis哨兵配置,有兩種方案

方案一:基於現有的3臺Redis容器服務,互相啓動一個Redis哨兵
方案二:從新再啓動3臺Redis容器服務,分別啓動一個Redis哨兵

方案二會額外的新增3個Redis容器服務,因此這裏演示方案一

分別進入3臺Redis容器內部,執行如下操做
首先,進入Docker容器內部

使用 docker exec -ti 容器ID /bin/bash 分別進入三個Redis容器

而後,編寫Redis哨兵配置文件

使用 cd / 命令,進入根目錄

使用 touch sentinel.conf命令,建立哨兵配置文件

使用 vim 命令編輯 sentinel.conf 文件,
添加如下內容 sentinel monitor host6379 172.17.0.3 6379 1

在進行編輯時,須要先按照vim,命令爲 apt-get update、apt-get install vim –y
最後,啓動Redis哨兵

使用 redis-sentinel /sentinel.conf 啓動Redis哨兵監控
使用 ps –ef |grep redis 命令,能夠看到redis-server和redis-sentinel正在運行

至此,哨兵模式配置完畢,按理說,不該在容器內部進行操做,但應我的能力有限,未找到其它的解決方案。有其它方式可以配置redis哨兵模式,歡迎指教!

步驟四:進行驗證

一、驗證

使用 docker ps 命令,查看正在運行的鏡像

clipboard.png

經過查看Redis哨兵日誌,能夠看到,redis哨兵正在監控

clipboard.png

當咱們把redis主機關掉時,能夠看到,redis從新選舉了新的主機

clipboard.png

相關文章
相關標籤/搜索