天天看點

Redis叢集配置配置Redis資訊Redis建立配置移除腳本建立

現在安裝對應的應用軟體一般都推薦使用Docker容器,我們這裡也不例外,直接使用Docker容器進行安裝,安裝大概要分這幾個步驟:

1、建立redis-cluster.tmpl配置Redis資訊【端口、是否開啟叢集等】

2、建立redis.sh配置需要建立的redis資訊

3、添加網絡,redis叢集使用該網絡

4、執行redis.sh實作建立redis

5、執行redis-cli建立叢集

配置Redis資訊

建立 redis-cluster.tmpl 配置Redis資訊(redis.conf)

#端口
port ${PORT}
#非保護模式
protected-mode no
#啟用叢集模式
cluster-enabled yes
cluster-config-file nodes.conf
#逾時時間
cluster-node-timeout 5000
#叢集各節點IP位址
cluster-announce-ip 192.168.211.141
#叢集節點映射端口
cluster-announce-port ${PORT}
#叢集總線端口
cluster-announce-bus-port 1${PORT}
#開啟aof持久化政策
appendonly yes
#背景運作
#daemonize yes
#程序号存儲
pidfile /var/run/redis_${PORT}.pid
#叢集加密
#masterauth wangj
#requirepass wangj
           

Redis建立配置

建立 redis.sh 配置需要建立的 Redis 叢集

#!/bin/bash
#在/usr/local/server/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
#建立6個redis容器
for port in `seq 7001 7006`;
do
   docker run -d -it -p ${port}:${port} -p 1${port}:1${port} -v /usr/local/server/rediscluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /usr/local/server/rediscluster/${port}/data:/data --privileged=true --restart always --name redis-${port} --net redis-net --sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf;
done
#查找ip
for port in `seq 7001 7006`;
do
  echo -n "$(docker inspect --format '{{ (index .NetworkSettings.Networks "redis-net").IPAddress }}' "redis-${port}")":${port}" ";
done
#換行
echo -e "\n"
#輸入資訊
read -p "請把輸入要啟動的docker容器名稱,預設redis-7001:" DOCKER_NAME
#判斷是否為空
if [ ! $DOCKER_NAME ];
 then DOCKER_NAME='redis-7001';
fi
#進入容器
docker exec -it redis-7001 /bin/bash
           

這裡涉及到了一個網絡的定義 redis-net ,代碼如下:

docker network create redis-net
           

移除腳本建立

建立 stop.sh 腳本,用于停止Redis容器,并且移除對應容器

#!/bin/bash
docker stop redis-7001 redis-7002 redis-7003 redis-7004 redis-7005 redis-7006
docker rm redis-7001 redis-7002 redis-7003 redis-7004 redis-7005 redis-7006
rm -rf 7001 7002 7003 7004 7005 7006
           

腳本授權:給 redis.sh 和 stop.sh 添加可執行權限:

chmod +x redis.sh
chmod +x stop.sh
           

執行腳本開始安裝Redis節點,并進入到 /usr/local/bin 目錄下執行 redis-cli 建立叢集關聯:

#執行叢集幾點建立
./redis.sh
#進入到任意一個安裝好的redis節點的bin目錄,裡面有個腳本對象redis-cli,然後執行叢集建立
./redis-cli --cluster create 172.18.0.2:7001 172.18.0.3:7002 172.18.0.4:7003 172.18.0.5:7004 172.18.0.6:7005 172.18.0.7:7006 --cluster-replicas 1
           

–cluster-replicas 表示有一個主有幾個slave。

Redis叢集配置配置Redis資訊Redis建立配置移除腳本建立