最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker redis5.0 cluster集群搭建的實現(xiàn)

 更新時間:2020年02月09日 14:24:45   作者:oldk  
這篇文章主要介紹了docker redis5.0 cluster集群搭建的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

系統(tǒng)環(huán)境:ubuntu16.04LTS

本文是使用 6 個 docker 容器搭建單機集群測試,實際環(huán)境如果是多臺,可對應(yīng)修改容器數(shù)量、端口號和集群 ip 地址,每臺機器都按下面步驟同樣操作即可。

拉取redis官方鏡像

docker pull redis:5.0

創(chuàng)建配置文件和數(shù)據(jù)目錄

創(chuàng)建目錄

mkdir ~/redis_cluster
cd ~/redis_cluster

新建一個模板文件sudo vim redis_cluster.tmpl,填入如下內(nèi)容:

# redis端口
port ${PORT}

# 關(guān)閉保護模式
protected-mode no

# 開啟集群
cluster-enabled yes

# 集群節(jié)點配置
cluster-config-file nodes.conf

# 超時
cluster-node-timeout 5000

# 集群節(jié)點IP host模式為宿主機IP
cluster-announce-ip 10.10.100.197

# 集群節(jié)點端口 7000 - 7005
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}

# 開啟 appendonly 備份模式
appendonly yes

# 每秒鐘備份
appendfsync everysec

# 對aof文件進行壓縮時,是否執(zhí)行同步操作
no-appendfsync-on-rewrite no

# 當(dāng)目前aof文件大小超過上一次重寫時的aof文件大小的100%時會再次進行重寫
auto-aof-rewrite-percentage 100

# 重寫前AOF文件的大小最小值 默認 64mb
auto-aof-rewrite-min-size 5120mb

# 關(guān)閉快照備份
save ""

批量創(chuàng)建配置文件和數(shù)據(jù)目錄,終端運行以下命令:

for port in `seq 7000 7005`; do \
 mkdir -p ./${port}/conf \
 && PORT=${port} envsubst < ./redis_cluster.tmpl > ./${port}/conf/redis.conf \
 && mkdir -p ./${port}/data; \
done

批量啟動 redis 容器

容器的 ip 地址采用 host 模式:

for port in `seq 7000 7005`; do \
 docker run -d -it --memory=1G \
 -v ~/redis_cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
 -v ~/redis_cluster/${port}/data:/data \
 --restart always --name redis-${port} --net host \
 --sysctl net.core.somaxconn=1024 redis:5.0 redis-server /usr/local/etc/redis/redis.conf; \
done

這里的--memeory=1G是限制單個 docker 容器占用內(nèi)存大小為 1G,超過會被進程殺死。運行時可能會出現(xiàn)...Memory limited without swap...這個警告,可以忽略。如不需要限制內(nèi)存,可以去掉--memeory參數(shù)。

創(chuàng)建集群

隨便進入其中一個容器:

docker exec -it redis-7000 bash

進入后執(zhí)行如下命令創(chuàng)建集群:

redis-cli --cluster create 10.10.100.197:7000 10.10.100.197:7001 10.10.100.197:7002 10.10.100.197:7003 10.10.100.197:7004 10.10.100.197:7005 --cluster-replicas 1

安裝redis-cli命令(如已有可跳過此步):

sudo apt install redis-tools

輸入yes后,集群創(chuàng)建完畢,exit退出 docker,接著登錄其中一個節(jié)點,驗證集群可用性:

redis-cli -c -p 7000

輸入cluster nodes查看集群狀態(tài)

127.0.0.1:7000> cluster nodes
06851aa134d50096d82a434eced9194233b5204e 10.10.100.197:7003@17003 slave 8b33f273386c9504ef8bd10b005e24825b3b9596 0 1567671901000 4 connected
a42297b65f7101fc9e4941ef8a0e65080d1b6338 10.10.100.197:7005@17005 slave 0aa20378d14e3ef0859815196cbafa67e1001d0e 0 1567671901581 6 connected
e7b6a35b1e92f94c225c507ea19f7f0318f0d1c3 10.10.100.197:7002@17002 master - 0 1567671902582 3 connected 10923-16383
0aa20378d14e3ef0859815196cbafa67e1001d0e 10.10.100.197:7000@17000 myself,master - 0 1567671901000 1 connected 0-5460
8b33f273386c9504ef8bd10b005e24825b3b9596 10.10.100.197:7001@17001 master - 0 1567671902383 2 connected 5461-10922
fe355eed99100197f43d1216d1de82643dd496a5 10.10.100.197:7004@17004 slave e7b6a35b1e92f94c225c507ea19f7f0318f0d1c3 0 1567671901380 5 connected

設(shè)置集群密碼

設(shè)置密碼為什么不在上面的步驟,利用模板文件批量創(chuàng)建配置文件的時候就寫進去?

無論是在 redis5.x 版本,還是以前的 redis 版本利用 ruby 創(chuàng)建集群的方式,在redis-cli --cluster create創(chuàng)建集群的環(huán)節(jié)沒有密碼參數(shù)配置,所以我們需要創(chuàng)建完集群再設(shè)置密碼。

我們用config set方式分別為每一個節(jié)點設(shè)置相同的密碼(不需要重啟 redis,且重啟后依然有效),在此之前先給所有 redis 配置文件加w權(quán)限,不然密碼無法保存到文件。

注意當(dāng)前路徑依然是在~/redis_cluster/:

for port in `seq 7000 7005`; do \
 chmod a+w ./${port}/conf/redis.conf; \
done

下面用一臺做示例:

登錄一個節(jié)點:

redis-cli -c -p 7000

設(shè)置密碼:

127.0.0.1:7000> config set masterauth 123456
OK
127.0.0.1:7000> config set requirepass 123456
OK
127.0.0.1:7000> auth 123456
OK
127.0.0.1:7000> config rewrite
OK

后面幾臺執(zhí)行同樣的操作即可。

集群寫入數(shù)據(jù)簡單測試

隨便登錄一個集群節(jié)點:

redis-cli -c -p 7003 -a 123456

寫入數(shù)據(jù):

127.0.0.1:7003> set va 1
-> Redirected to slot [7800] located at 10.10.100.197:7001
OK
10.10.100.197:7001> get va
"1"
10.10.100.197:7001> del va
(integer) 1

可以看到,集群中任意節(jié)點寫入數(shù)據(jù),在其他任意節(jié)點都能讀到。

至此,redis 集群搭建完成。

其他注意事項

  • 外網(wǎng)訪問 redis,可能需要防火墻開放相應(yīng)端口;
  • 如果需要刪除容器,可批量操作:
for port in `seq 7000 7005`; do \
 docker stop redis-${port};
 docker rm redis-${port};
done

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker Compose一鍵ELK部署的方法實現(xiàn)

    Docker Compose一鍵ELK部署的方法實現(xiàn)

    這篇文章主要介紹了Docker Compose一鍵ELK部署的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 使用minikube安裝k8s單節(jié)點集群方式

    使用minikube安裝k8s單節(jié)點集群方式

    本文主要介紹了minikube的使用方法,包括安裝、啟動、鏡像管理等步驟,minikube是一個專注于讓Kubernetes更易于學(xué)習(xí)和開發(fā)的本地Kubernetes環(huán)境,支持在macOS、Linux和Windows上快速設(shè)置本地Kubernetes集群
    2024-10-10
  • docker時區(qū)問題和遷移數(shù)據(jù)問題

    docker時區(qū)問題和遷移數(shù)據(jù)問題

    這篇文章主要介紹了docker時區(qū)問題和遷移數(shù)據(jù)問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 如何查看docker run啟動參數(shù)命令(推薦)

    如何查看docker run啟動參數(shù)命令(推薦)

    這篇文章主要介紹了如何查看docker run啟動參數(shù)命令,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 關(guān)于docker安裝python3.8鏡像的問題

    關(guān)于docker安裝python3.8鏡像的問題

    這篇文章主要介紹了docker安裝python3.8鏡像的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • docker安裝Elasticsearch7.6集群并設(shè)置密碼的方法步驟

    docker安裝Elasticsearch7.6集群并設(shè)置密碼的方法步驟

    本文主要介紹了docker安裝Elasticsearch7.6集群并設(shè)置密碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Docker部署多種容器的詳細過程

    Docker部署多種容器的詳細過程

    本文介紹了在Windows和Linux系統(tǒng)上使用Docker部署MySQL和RabbitMQ容器的方法,對于MySQL使用docker?run命令,配置了端口映射、權(quán)限、時區(qū)和數(shù)據(jù)持久化等選項,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-01-01
  • 詳解Django+Vue+Docker搭建接口測試平臺實戰(zhàn)

    詳解Django+Vue+Docker搭建接口測試平臺實戰(zhàn)

    這篇文章主要介紹了詳解Django+Vue+Docker搭建接口測試平臺實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • docker默認路徑存儲不足解決過程

    docker默認路徑存儲不足解決過程

    這篇文章主要給大家介紹了關(guān)于docker默認路徑存儲不足的解決過程,Docker存儲空間不足的錯誤通常表明Docker Daemon分配的本地磁盤空間用盡,文中通過代碼將解決的辦法介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • docker update命令動態(tài)更新容器配置

    docker update命令動態(tài)更新容器配置

    Docker的docker update命令提供了一種在不停止容器的情況下動態(tài)調(diào)整其資源配置的能力,從而優(yōu)化性能或滿足特定需求,本文詳細介紹了docker update命令的使用方法、常用選項如CPU和內(nèi)存限制,感興趣的可以了解一下
    2024-10-10

最新評論

南皮县| 宜城市| 会泽县| 曲阜市| 赤峰市| 余庆县| 云龙县| 上思县| 碌曲县| 崇礼县| 海原县| 南木林县| 巨野县| 定西市| 久治县| 通城县| 钟祥市| 西乌珠穆沁旗| 玉溪市| 东山县| 习水县| 炎陵县| 罗平县| 新建县| 洪泽县| 七台河市| 靖安县| 务川| 凤凰县| 美姑县| 霞浦县| 康保县| 德令哈市| 新密市| 河北区| 邳州市| 黄大仙区| 壶关县| 且末县| 东丽区| 即墨市|