centos7下docker redis5集群搭建

2021-09-25 20:21:14 字數 3196 閱讀 9209

1、建立redis-cluster資料夾

mkdir /www

cd /www

mkdir redis-cluster

cd redis-cluster

2、檔案目錄結構

# 專案檔案 ├── /www/redis-cluster/redis-cluster.tmpl   

# ├── /www/redis-cluster/redis.sh

# ├── /www/redis-cluster/stop.sh

3、redis-cluster.tmpl檔案:配置如下幾個引數,此檔案的目的是生成每乙個redis例項的redis.conf

#埠

port $

#非保護模式

protected-mode no

#啟用集群模式

cluster-enabled yes

cluster-config-file nodes.conf

#超時時間

cluster-node-timeout 5000

cluster-announce-ip 10.1.1.198

cluster-announce-port $

cluster-announce-bus-port 1$

#後台執行

#daemonize yes

pidfile /var/run/redis_$.pid

#集群加密

masterauth a123456

requirepass a123456

#!/bin/bash

#在/www/redis-cluster下生成conf和data目標,並生成配置資訊

for port in `seq 6000 6005`;

do mkdir -p ./$/conf && port=$ envsubst < ./redis-cluster.tmpl > ./$/conf/redis.conf && mkdir -p ./$/data;

done

#建立6個redis容器

for port in `seq 6000 6005`;

do docker run -d -it -p $:$ -p 1$:1$ -v /www/redis-cluster/$/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /www/redis-cluster/$/data:/data --restart always --name redis-$ --net redis-net --sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf;

done

#查詢ip

for port in `seq 6000 6005`;

do echo -n "$(docker inspect --format '}' "redis-$")":$" ";

done

#換行echo -e "\n"

#輸入資訊

read -p "請把輸入要啟動的docker容器名稱,預設redis-6000:" docker_name

#判斷是否為空

if [ ! $docker_name ];

then docker_name='redis-6000';

fi#進入容器

docker exec -it redis-6000 /bin/bash

5、stop.sh:解除安裝redis集群

#!/bin/bash

docker stop redis-6000 redis-6001 redis-6002 redis-6003 redis-6004 redis-6005

docker rm redis-6000 redis-6001 redis-6002 redis-6003 redis-6004 redis-6005

rm -rf 6000 6001 6002 6003 6004 6005

6、設定許可權:

chmod 755 redis.sh stop.sh

7、建立自定義network(redis-net)

docker network create redis-net

6、執行redis.sh指令碼自動建立redis容器,然後自動進入redis-6000

./redis.sh

6、設定許可權:

chmod 755 redis.sh stop.sh

7、建立自定義network(redis-net)

docker network create redis-net

6、執行redis.sh指令碼自動建立redis容器,然後自動進入redis-6000

7、執行集群,然後輸入:yes,啟動集群(-a a123456 是密碼)。

#執行集群

8、進入redis

redis-cli -c -p 6000 -a a123456

9、問題處理

如果遇到: waiting for the cluster to join 一直等待,可能問題是:

開啟防火牆埠:

firewall-cmd --zone=public --add-port=6000-6005/tcp --permanentfirewall-cmd --zone=public --add-port=16000-16005/tcp --permanentfirewall-cmd --reload

virtualbox下centos7配置靜態ip

最新的virtualbox 5.2.12 七種網路型別區別 官方解釋 vm host vm1 vm2 vm internet vm internet host only internal bridged nat port forwarding nat network port forwarding ...

centos7下安裝janusGraph單機版

janusgraph是一款圖資料庫,繼承自titan,支援分布式,可以整合了多種資料庫,大資料平台,如hbase,hadoop,spark,elasticsearch等。詳細介紹大家可參考官方文件janusgraph官方文件。下面我們介紹如何在centos7上安裝配置單機版本的janusgraph....

centos7下安裝tensorflow gpu版

我的版本 cuda 8.0 cudaa6.0 python3.5.1 tensorflow gpu1.4.0 說說遇到的坑 折騰了一下午 1.查資料說是python3.6可以與其他軟體相容,於是我就安裝了python3.6.6版本,結果後面測試import tensorflow時會報錯importe...