天天看點

docker部署redis叢集_使用docker部署redis叢集1、查詢最新redis鏡像2、下載下傳redis鏡像3、建立一個檔案夾,以及建立redis-cluster.tmpl模闆檔案4、在 redis-cluster下生成conf和data目标,并生成配置資訊5、建立6個redis容器6、進入任意一個已運作的redis容器docker exec -it redis-7001 bash7、檢查叢集狀态

1、查詢最新redis鏡像

docker search redis

2、下載下傳redis鏡像

docker pull redis

3、建立一個檔案夾,以及建立redis-cluster.tmpl模闆檔案

mkdir redis-cluster-d

cd redis-cluster-d

vi redis-cluster.tmpl

port ${PORT}

masterauth 123456

requirepass 123456

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

cluster-announce-ip 172.17.0.1

cluster-announce-port ${PORT}

cluster-announce-bus-port 1${PORT}

appendonly yes

參數描述

(1)port(端口号)

(2)masterauth(設定叢集節點間通路密碼,跟下面一緻)

(3)requirepass(設定redis通路密碼)

(4)cluster-enabled yes(啟動叢集模式)

(5)cluster-config-file nodes.conf(叢集節點資訊檔案)

(6)cluster-node-timeout 5000(redis節點當機被發現的時間)

(7)cluster-announce-ip(叢集節點的彙報ip,防止nat,預先填寫為網關ip後續需要手動修改配置檔案)

(8)cluster-announce-port(叢集節點的彙報port,防止nat)

(9)cluster-announce-bus-port(叢集節點的彙報bus-port,防止nat)

(10) appendonly yes(開啟aof)

4、在 redis-cluster下生成conf和data目标,并生成配置資訊

執行以下指令,按模闆生成檔案以及檔案夾

for port in `seq 7001 7006`; do

mkdir -p ./${port}/conf

&& PORT=${port} envsubst < ./redis-cluster.tmpl > ./${port}/conf/redis.conf

&& mkdir -p ./${port}/data;

done

docker部署redis叢集_使用docker部署redis叢集1、查詢最新redis鏡像2、下載下傳redis鏡像3、建立一個檔案夾,以及建立redis-cluster.tmpl模闆檔案4、在 redis-cluster下生成conf和data目标,并生成配置資訊5、建立6個redis容器6、進入任意一個已運作的redis容器docker exec -it redis-7001 bash7、檢查叢集狀态

5、建立6個redis容器

for port in `seq 7001 7006`; do

docker run -d --net=host -v /root/redis-cluster-d/${port}/conf/redis.conf:/etc/redis/redis.conf -v /root/redis-cluster-d/${port}/data:/data --restart always --name=redis-${port} redis redis-server /etc/redis/redis.conf;

done

6、進入任意一個已運作的redis容器

docker exec -it redis-7001 bash

執行叢集指令

redis-cli -a 123456 --cluster create 192.168.52.19:7001 192.168.52.19:7002 192.168.52.19:7003 192.168.52.19:7004 192.168.52.19:7005 192.168.52.19:7006 --cluster-replicas 1

docker部署redis叢集_使用docker部署redis叢集1、查詢最新redis鏡像2、下載下傳redis鏡像3、建立一個檔案夾,以及建立redis-cluster.tmpl模闆檔案4、在 redis-cluster下生成conf和data目标,并生成配置資訊5、建立6個redis容器6、進入任意一個已運作的redis容器docker exec -it redis-7001 bash7、檢查叢集狀态
docker部署redis叢集_使用docker部署redis叢集1、查詢最新redis鏡像2、下載下傳redis鏡像3、建立一個檔案夾,以及建立redis-cluster.tmpl模闆檔案4、在 redis-cluster下生成conf和data目标,并生成配置資訊5、建立6個redis容器6、進入任意一個已運作的redis容器docker exec -it redis-7001 bash7、檢查叢集狀态

7、檢查叢集狀态

容器内驗證:

redis-cli -c -a 123456 -h 192.168.52.19 -p 7001

Centos中驗證:

yum install redis -y

redis-cli -c -a 123456 -h 192.168.52.19 -p 7001

redis-cli -a 123456 -h 192.168.52.19 -p 7001 cluster nodes

docker部署redis叢集_使用docker部署redis叢集1、查詢最新redis鏡像2、下載下傳redis鏡像3、建立一個檔案夾,以及建立redis-cluster.tmpl模闆檔案4、在 redis-cluster下生成conf和data目标,并生成配置資訊5、建立6個redis容器6、進入任意一個已運作的redis容器docker exec -it redis-7001 bash7、檢查叢集狀态

檢查叢集健康狀态

redis-cli -a 123456 --cluster check 192.168.52.19:7001

docker部署redis叢集_使用docker部署redis叢集1、查詢最新redis鏡像2、下載下傳redis鏡像3、建立一個檔案夾,以及建立redis-cluster.tmpl模闆檔案4、在 redis-cluster下生成conf和data目标,并生成配置資訊5、建立6個redis容器6、進入任意一個已運作的redis容器docker exec -it redis-7001 bash7、檢查叢集狀态
docker部署redis叢集_使用docker部署redis叢集1、查詢最新redis鏡像2、下載下傳redis鏡像3、建立一個檔案夾,以及建立redis-cluster.tmpl模闆檔案4、在 redis-cluster下生成conf和data目标,并生成配置資訊5、建立6個redis容器6、進入任意一個已運作的redis容器docker exec -it redis-7001 bash7、檢查叢集狀态