一金踪、環(huán)境準(zhǔn)備
- 服務(wù)器2臺(tái)
- 安裝docker
- 下載鏡像
docker pull redis
docker pull ruby
二捺氢、集群搭建
1买雾、創(chuàng)建配置文件
vim redis-cluster.tmpl
port ${PORT}
#是否禁止公網(wǎng)訪問(wèn)redis cache 開(kāi)啟條件 沒(méi)有bind IP 沒(méi)有設(shè)置requirepass訪問(wèn)密碼
protected-mode no
#是否開(kāi)啟守護(hù)模式
daemonize no
#aof日志 每次寫操作都記錄一條日志
appendonly yes
#目錄
dir /data/redis
#是否開(kāi)啟集群
cluster-enabled yes
#集群配置文件
cluster-config-file nodes.conf
#超時(shí)時(shí)間
cluster-node-timeout 5000
#創(chuàng)建配置文件
for port in `seq 7000 7002`; do
mkdir -p ./$port/ && mkdir -p ./$port/data \
&& PORT=$port envsubst < ./redis-cluster.tmpl > ./$port/redis.conf;
done
啟動(dòng)容器
#2把曼、啟動(dòng)容器
for port in `seq 7000 7002`; do
docker run -d \
-v $PWD/$port/redis.conf:/data/redis.conf \
-v $PWD/$port/data:/data/redis \
--restart always --name redis-$port --net host \
redis redis-server /data/redis.conf;
done
#進(jìn)入容器
docker exec -it redis-7000 /bin/sh
3杨帽、搭建集群
#進(jìn)入容器
docker exec -it redis-7000 /bin/sh
#搭建集群
redis-cli --cluster create 192.168.108.20:7000 192.168.108.20:7001 192.168.108.20:7002 192.168.108.21:7000 192.168.108.21:7001 192.168.108.21:7002 --cluster-replicas 1
#連接redis測(cè)試
redis-cli -p 7000 -c
4、設(shè)置集群密碼
#設(shè)置密碼 主從服務(wù)器都需要執(zhí)行(其中一個(gè)節(jié)點(diǎn))
docker exec -it redis-7000 /bin/sh
redis-cli -p 7000 -c
#xxxxx替換為你需要設(shè)置的密碼
config set masterauth xxxxx
config set requirepass xxxxx
auth shenpu2019
config rewrite