Docker Redis Clusterの作成
1925 ワード
導入環境情報:Redisバージョン4.0.14、Linux centos 7.4、Redis Cluster:3マスター3
1、redis_を作成するclusterディレクトリとRedis 4.0プロファイルのダウンロード
2、Redis 4.0ファイル修正内容
3.サーバ10.200.11.16でredisノードディレクトリファイルを作成する
4、redis-cluster-netネットワークの作成
5、単機起動redis 4.0.14 700[0-5]{1}ノード
6、zvelo/redis-tribを使用してクラスタノードを起動する
1、redis_を作成するclusterディレクトリとRedis 4.0プロファイルのダウンロード
mkdir -p /opt/data/redis-cluster && \
cd /opt/data/redis-cluster && \
curl -sO https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf
2、Redis 4.0ファイル修正内容
port ${PORT}
# redis
protected-mode no
appendonly yes
aof-use-rdb-preamble yes
cluster-enabled yes
cluster-config-file node.conf
cluster-node-timeout 5000
cluster-announce-ip ${IP}
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}
3.サーバ10.200.11.16でredisノードディレクトリファイルを作成する
cd /opt/data/redis-cluster/ && \
export IP=10.200.11.16 && \
for port in `seq 7000 7005`; do \
mkdir -p ./${port}/conf \
&& PORT=${port} envsubst < ./redis.conf > ./${port}/conf/redis.conf \
&& mkdir -p ./${port}/data; \
done && \
unset IP
4、redis-cluster-netネットワークの作成
docker network create redis-cluster-net
5、単機起動redis 4.0.14 700[0-5]{1}ノード
for port in `seq 7000 7005`; do \
docker run -dit -p ${port}:${port} -p 1${port}:1${port} \
-v /opt/data/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /opt/data/redis-cluster/${port}/data:/data \
--restart always \
--name redis-${port} \
--net redis-cluster-net \
--sysctl net.core.somaxconn=1024 \
redis:4.0.14 redis-server /usr/local/etc/redis/redis.conf; \
done
6、zvelo/redis-tribを使用してクラスタノードを起動する
docker run --rm -it --net redis-cluster-net zvelo/redis-trib create --replicas 1 \
$(for port in `seq 7000 7005`; do \
echo -n "$(docker inspect --format '{{ (index .NetworkSettings.Networks "redis-cluster-net").IPAddress }}' "redis-${port}")":${port} ' ' ; \
done)