利用Docker搭建Redis集群


Redis集群搭建

運行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

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

配置Redis集群

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

在Networks欄,可以看見該容器的Docker內網IP地址。

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

進入Docker容器內部

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

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

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

這樣,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正在運行

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM