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正在運行
至此,哨兵模式配置完畢。