Redis docker 集群搭建填坑

2021-10-04 15:06:44 字數 2201 閱讀 6016

docker pull redis:5.0.5
建立目錄

mkdir -p /usr/local/redis/redis-cluster
在目錄中建立檔案redis-cluster.tmpl,內容如下:

port $

protected-mode no

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

cluster-announce-ip 192.168.31.159

cluster-announce-port $

cluster-announce-bus-port 1$

masterauth 123456

requirepass 123456

以上**中的192.168.31.159 主機ip位址

123456 為密碼

for port in

`seq 7000 7005`

;do \

mkdir -p ./$/conf \

&& port=

$ envsubst < ./redis-cluster.tmpl > ./$/conf/redis.conf \

&&mkdir -p ./$/data; \

done

docker network create redis-net
for port in

`seq 7000 7005`

;do \

docker run -d -ti -p $

:$ -p 1$:1$ \

-v /usr/local/redis/redis-cluster/$/conf/redis.conf:/usr/local/etc/redis/redis.conf \

-v /usr/local/redis/redis-cluster/$/data:/data \

--restart always --name redis-$ --net redis-net\

--sysctl net.core.somaxconn=1024 redis:5.0.5 redis-server /usr/local/etc/redis/redis.conf; \

done

for port in

`seq 7000 7005`

;do \

echo -n "$(docker inspect --format '}' "redis-$

")":

$' '

; \ done

複製控制台輸出結果,如下

172.18.0.2:7000 172.18.0.3:7001 172.18.0.4:7002 172.18.0.5:7003 172.18.0.6:7004 172.18.0.7:7005
for port in

`seq 7000 7005`

;do firewall-cmd --zone=public --add-port=

$/tcp --permanent;

done

for port in

`seq 17001 17005`

;do firewall-cmd --zone=public --add-port=

$/tcp --permanent;

done

firewall-cmd --reload

[root@rabbitmq ~]

# docker exec -it redis-7000 bash

root@874b9667b48c:/data# redis-cli -a 123456 --cluster create 172.18.0.2:7000 172.18.0.3:7001 172.18.0.4:7002 172.18.0.5:7003 172.18.0.6:7004 172.18.0.7:7005 --cluster-replicas 1

cluster-announce-ip 的ip位址要正確。

防火牆開放埠也很關鍵。缺少這一步,建立集群的時候會一直等待。

redis搭建集群(偽集群)

1 建立6個資料夾 2 複製redis.conf檔案,並修改redis.conf 配置檔案 3 建立集群 4 連線客戶端 5 檢視狀態 建立 6個資料夾來存放redis.conf,因為redis集群最小需要的是,三組三從,每個資料夾代表一台伺服器,6007跟6008可忽略 先複製乙個到6001資料夾...

mongodb集群搭建

只有一台ubuntu機器,配置方案 1 3個分片sharding 2 每乙個分片由3個節點構成1主2備的replica sets 3 3個配置節點configsever 4 1個路由節點mongos shard server mongod 例項,用於儲存實際的資料塊,實際生產環境中乙個shard s...

搭建MongoDB集群

集群由以下3個服務組成 shards server 每個shard由乙個或多個mongod程序組成,用於儲存資料 config server 用於儲存集群的metadata資訊,包括每個shard的資訊和chunks資訊 route server 用於提供路由服務,由client連線,使整個clus...