利用Docker搭建Redis集羣

Redis集羣搭建

運行Redis鏡像

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

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/redisdocker

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

配置Redis集羣

分別使用dokcer inspect 容器ID命令,查看3個Redis內網IP地址
bash

在Networks欄,能夠看見該容器的Docker內網IP地址。測試

redis-6379:172.17.0.2:6379
redis-6380:172.17.0.3:6379
redis-6381:172.17.0.4:63793d

進入Docker容器內部code

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

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

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

這樣,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,命令爲apt-get update ,apt-get install vim
使用 vim 命令編輯 sentinel.conf 文件,
添加如下內容

sentinel monitor host6379 172.17.0.2 6379 1

最後,啓動Redis哨兵

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

至此,哨兵模式配置完畢。

相關文章
相關標籤/搜索