日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Redis——docker構建的Redis集群

作者:莊小焱 更新時間: 2022-01-22 編程語言

摘要

如果海量數據的存儲采用的Redis來構建。本博文采用的docker構建redis集群的構建。

一、docker構建單個redis服務

1、查看可用的 Redis 版本

docker search redis

2、取最新版的 Redis 鏡像

docker pull redis:latest

3、查看本地鏡像

docker images

4、運行容器

docker run -itd --name redis-test -p 6379:6379 redis

-p 6379:6379:映射容器服務的 6379 端口到宿主機的 6379 端口。外部可以直接通過宿主機ip:6379 訪問到 Redis 的服務。

5、安裝成功

docker exec -it redis-test(容器ID)  /bin/bash

二、docker構建redis集群服務

2.1 三主三從集群實戰

新建容器需要掛載文件夾

cd /data/redis/share/

mkdir redis-node-1

mkdir redis-node-2

mkdir redis-node-3

mkdir redis-node-4

mkdir redis-node-5

mkdir redis-node-6

啟動redis六個容器

docker run -d --name redis-node-1 --net host --privileged=true -v /home/xjl/data/redis/share/redis-node-1:/data redis --cluster-enabled yes --appendonly yes --port 6381
?
docker run -d --name redis-node-2 --net host --privileged=true -v /home/xjl/data/redis/share/redis-node-2:/data redis --cluster-enabled yes --appendonly yes --port 6382?

docker run -d --name redis-node-3 --net host --privileged=true -v /home/xjl/data/redis/share/redis-node-3:/data redis --cluster-enabled yes --appendonly yes --port 6383
?
docker run -d --name redis-node-4 --net host --privileged=true -v /home/xjl/data/redis/share/redis-node-4:/data redis --cluster-enabled yes --appendonly yes --port 6384?

docker run -d --name redis-node-5 --net host --privileged=true -v /home/xjl/data/redis/share/redis-node-5:/data redis --cluster-enabled yes --appendonly yes --port 6385?

docker run -d --name redis-node-6 --net host --privileged=true -v /home/xjl/data/redis/share/redis-node-6:/data redis --cluster-enabled yes --appendonly yes --port 6386

?配置六個節點成為集群

進入容器redis-node-1

docker exc -it redis容器ID /bin/bash

6臺機器構建集群關系

redis-cli --cluster create 192.168.25.140:6381 192.168.25.140:6382 192.168.25.140:6383 192.168.25.140:6384 192.168.25.140:6385 192.168.25.140:6386?--cluster-replicas 1?

鏈接進入6381作為切入點,查看集群狀態
cluster info

cluster nodes

2.2 redis集群擴縮容實戰

新的啟動兩個redis節點

docker run -d --name redis-node-7 --net host --privileged=true -v /home/xjl/data/redis/share/redis-node-7:/data redis --cluster-enabled yes --appendonly yes --port 6387

docker run -d --name redis-node-8 --net host --privileged=true -v /home/xjl/data/redis/share/redis-node-8:/data redis --cluster-enabled yes --appendonly yes --port 6388

向集群節點中添加節點

redis-cli --cluster add-node?192.168.25.140:6387 192.168.25.140:6381

重新分派槽號

redis-cli --cluster reshard 192.168.25.140:6381

向集群節點中添加節點的從節點

redis-cli --cluster add-node 192.168.25.140:6388 192.168.25.140:6387 --cluster-slave --cluster-master-id d367adf4c1cf80bfb3ccf7fa01c299ad59ca9873

從集群中將4號從節點6388刪除

redis-cli --cluster?del-node?192.168.111.147:6388 5d149074b7e57b802287d1797a874ed7a1a284a8?redis-cli --cluster check 192.168.111.147:6382??檢查一下發現,6388被刪除了,只剩下7臺機器了。??

將6387的槽號清空,重新分配,本例將清出來的槽號都給6381

redis-cli --cluster reshard 192.168.25.140:6381

將6387刪除

redis-cli --cluster del-node 192.168.111.147:6387 e4781f644d4a4e4d4b4d107157b9ba8144631451?

檢查集群情況

redis-cli --cluster check 192.168.25.140:6381

博文參考

DockerPrinciple: 本項目主要介紹Docker的相關的原理與實踐操作,同時涉及實踐問題和解答方案。 - Gitee.com

原文鏈接:https://blog.csdn.net/weixin_41605937/article/details/122393034

欄目分類
最近更新