校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Docker快速搭建Redis集群的方法示例

Docker快速搭建Redis集群的方法示例

熱門標簽:繽客網(wǎng)注冊時地圖標注出不來 鶴壁電銷外呼系統(tǒng)怎么安裝 工廠位置地圖標注 網(wǎng)站上插入地圖標注內(nèi)容 重慶營銷外呼系統(tǒng)排名 400電話辦理哪家好廠商 地圖標注需要現(xiàn)場嗎 地圖標注企業(yè)名稱侵權案件 企業(yè)400電話辦理哪正規(guī)

什么是Redis集群

Redis集群是Redis提供的分布式數(shù)據(jù)庫方案,集群通過分片(sharding)來進行數(shù)據(jù)共享,并提供復制和故障轉移功能。

節(jié)點

一個Redis集群通常由多個節(jié)點(node)組成,在剛開始的時候,每個節(jié)點都是相互獨立的,它們都處于一個只包含自己的集群當中,要組建一個真正可工作的集群,我們必須將各個獨立的節(jié)點連接起來,構成一個包含多個節(jié)點的集群。

集群配置

配置文件

下載配置文件:https://raw.githubusercontent.com/antirez/redis/5.0/redis.conf

調(diào)整 CLUSTER 節(jié)點配置

# 開啟cluster集群
cluster-enabled yes

# 集群配置文件
cluster-config-file nodes-6379.conf

# 集群節(jié)點超時
cluster-node-timeout 15000

Docker快速搭建Redis集群

安裝Redis

參考文章:https://www.jb51.net/article/150054.htm

準備工作

├── conf
│  ├── redis.conf
│  └── sentinel.conf
├── redis
│  ├── data_6379
│  ├── data_6380
│  ├── data_6381
│  ├── data_6382
│  ├── data_6383
│  └── data_6384
└── scripts
  ├── cluster.sh
  ├── run.sh
  └── sentinel.sh

run.sh 腳本文件

#!/usr/bin/env bash
set -e

# 腳本當前目錄
cPath=$(cd $(dirname "$0") || exit; pwd)

# 根目錄
dirPath=$(dirname "$cPath")

# 獲取端口
port="$1"
if [[ ! "$port" ]]; then
 port=6379
fi

# 創(chuàng)建數(shù)據(jù)目錄
mkdir -p "$dirPath"/redis/data_"$port"

# 刪除已啟動服務
containerId=$(docker ps -a | grep "redis_$port" | awk -F' ' '{print $1}')
if [[ "$containerId" ]]; then
  docker rm -f ${containerId} > /dev/null
fi

# 啟動服務
containerName=redis_"$port"
docker run -itd --privileged=true -p "$port":6379 --name ${containerName} \

-v="$dirPath"/conf/redis.conf:/etc/redis/redis.conf \

-v="$dirPath"/redis/data_"$port":/data \

redis \

redis-server /etc/redis/redis.conf > /dev/null

# 獲取容器IP地址
dockerIp=$(docker inspect -f "{{.NetworkSettings.IPAddress}}" "$containerName")

# 獲取容器啟動狀態(tài)
isRunning=$(docker inspect -f "{{.State.Running}}" "$containerName")
if [[ "$isRunning" == "true" ]]; then
  echo "容器:$containerName - IP:$dockerIp - 啟動成功"
fi

cluster.sh 腳本文件

#!/usr/bin/env bash
set -e

# 腳本當前目錄
cPath=$(cd $(dirname "$0") || exit; pwd)

# 啟動集群數(shù)量
num="$1"
if [[ ! "$num" ]]; then
 num=6
fi

sPort=6378
for((i=1;i<=$num;i++)); do
  sh ${cPath}/run.sh $(($sPort+$i))
done

啟動服務

執(zhí)行腳本文件,默認創(chuàng)建6個節(jié)點

sh scripts/cluster.sh

腳本返回結果

容器:redis_6379 - IP:172.17.0.2 - 啟動成功
容器:redis_6380 - IP:172.17.0.3 - 啟動成功
容器:redis_6381 - IP:172.17.0.4 - 啟動成功
容器:redis_6382 - IP:172.17.0.5 - 啟動成功
容器:redis_6383 - IP:172.17.0.6 - 啟動成功
容器:redis_6384 - IP:172.17.0.7 - 啟動成功

執(zhí)行 docker ps 確實是否啟動成功

root@DESKTOP-Q13EI52:~/docker-config/redis# docker ps
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS          NAMES
c0601df1a456    redis        "docker-entrypoint.s…"  27 seconds ago   Up 26 seconds    0.0.0.0:6384->6379/tcp  redis_6384
6fecf70465b8    redis        "docker-entrypoint.s…"  27 seconds ago   Up 26 seconds    0.0.0.0:6383->6379/tcp  redis_6383
1af15e90b7a0    redis        "docker-entrypoint.s…"  28 seconds ago   Up 27 seconds    0.0.0.0:6382->6379/tcp  redis_6382
6c495f31a5df    redis        "docker-entrypoint.s…"  28 seconds ago   Up 28 seconds    0.0.0.0:6381->6379/tcp  redis_6381
e54fd9fd0550    redis        "docker-entrypoint.s…"  29 seconds ago   Up 28 seconds    0.0.0.0:6380->6379/tcp  redis_6380
be92ad2f7046    redis        "docker-entrypoint.s…"  29 seconds ago   Up 29 seconds    0.0.0.0:6379->6379/tcp  redis_6379

到此為止,6個獨立集群節(jié)點創(chuàng)建完畢,目前還無法正常工作。

創(chuàng)建集群

此處可以跳過,本人是為了省事

獲取容器為redis_開始所有的容器IP地址

docker inspect -f "{{.NetworkSettings.IPAddress}}:6379" `docker ps | grep redis_ | awk -F' ' '{print $1}'` | sort |xargs | sed 's/ /, /g'

# 返回結果
# 172.17.0.2:6379, 172.17.0.3:6379, 172.17.0.4:6379, 172.17.0.5:6379, 172.17.0.6:6379, 172.17.0.7:6379

初次創(chuàng)建集群執(zhí)行

./redis-cli --cluster create 172.17.0.2:6379, 172.17.0.3:6379, 172.17.0.4:6379, 172.17.0.5:6379, 172.17.0.6:6379, 172.17.0.7:6379 --cluster-replicas 1

輸出結果

licas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 172.17.0.6:6379 to 172.17.0.2:6379
Adding replica 172.17.0.7:6379 to 172.17.0.3:6379
Adding replica 172.17.0.5:6379 to 172.17.0.4:6379
M: e8da1fef656984de3ec2a677edc8d9c48d01cd95 172.17.0.2:6379
  slots:[0-5460] (5461 slots) master
M: 68b925ab0fbbc1a632c1754587fb6dad3fa14c91 172.17.0.3:6379
  slots:[5461-10922] (5462 slots) master
M: 0a46ab2f6d176738b55fe699c2df1c34f8200d06 172.17.0.4:6379
  slots:[10923-16383] (5461 slots) master
S: bd3064ad5297dfc258e9236943455c589be8b2a3 172.17.0.5:6379
  replicates 0a46ab2f6d176738b55fe699c2df1c34f8200d06
S: f1d8c897882d29e6538b1158525493b3b782289a 172.17.0.6:6379
  replicates e8da1fef656984de3ec2a677edc8d9c48d01cd95
S: 619e1cb52f39e07b321719b77fc3631fa6293cef 172.17.0.7:6379
  replicates 68b925ab0fbbc1a632c1754587fb6dad3fa14c91
Can I set the above configuration? (type 'yes' to accept):

輸入:yes,將平均分配槽位

>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
.....
>>> Performing Cluster Check (using node 172.17.0.2:6379)
M: e8da1fef656984de3ec2a677edc8d9c48d01cd95 172.17.0.2:6379
  slots:[0-5460] (5461 slots) master
  1 additional replica(s)
S: f1d8c897882d29e6538b1158525493b3b782289a 172.17.0.6:6379
  slots: (0 slots) slave
  replicates e8da1fef656984de3ec2a677edc8d9c48d01cd95
S: bd3064ad5297dfc258e9236943455c589be8b2a3 172.17.0.5:6379
  slots: (0 slots) slave
  replicates 0a46ab2f6d176738b55fe699c2df1c34f8200d06
M: 0a46ab2f6d176738b55fe699c2df1c34f8200d06 172.17.0.4:6379
  slots:[10923-16383] (5461 slots) master
  1 additional replica(s)
S: 619e1cb52f39e07b321719b77fc3631fa6293cef 172.17.0.7:6379
  slots: (0 slots) slave
  replicates 68b925ab0fbbc1a632c1754587fb6dad3fa14c91
M: 68b925ab0fbbc1a632c1754587fb6dad3fa14c91 172.17.0.3:6379
  slots:[5461-10922] (5462 slots) master
  1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

連接集群

通過客戶端連接

redis-cli -c <端口>

執(zhí)行命令:cluster info

127.0.0.1:6379> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:104
cluster_stats_messages_pong_sent:120
cluster_stats_messages_sent:224
cluster_stats_messages_ping_received:115
cluster_stats_messages_pong_received:104
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:224

看到:cluster_state:ok 說明集群已可以正常工作

客戶端控制臺:cluster help

127.0.0.1:6379> cluster help
 1) CLUSTER <subcommand> arg arg ... arg. Subcommands are:
 2) ADDSLOTS <slot> [slot ...] -- Assign slots to current node.
 3) BUMPEPOCH -- Advance the cluster config epoch.
 4) COUNT-failure-reports <node-id> -- Return number of failure reports for <node-id>.
 5) COUNTKEYSINSLOT <slot> - Return the number of keys in <slot>.
 6) DELSLOTS <slot> [slot ...] -- Delete slots information from current node.
 7) FAILOVER [force|takeover] -- Promote current replica node to being a master.
 8) FORGET <node-id> -- Remove a node from the cluster.
 9) GETKEYSINSLOT <slot> <count> -- Return key names stored by current node in a slot.
10) FLUSHSLOTS -- Delete current node own slots information.
11) INFO - Return information about the cluster.
12) KEYSLOT <key> -- Return the hash slot for <key>.
13) MEET <ip> <port> [bus-port] -- Connect nodes into a working cluster.
14) MYID -- Return the node id.
15) NODES -- Return cluster configuration seen by node. Output format:
16)   <id> <ip:port> <flags> <master> <pings> <pongs> <epoch> <link> <slot> ... <slot>
17) REPLICATE <node-id> -- Configure current node as replica to <node-id>.
18) RESET [hard|soft] -- Reset current node (default: soft).
19) SET-config-epoch <epoch> - Set config epoch of current node.
20) SETSLOT <slot> (importing|migrating|stable|node <node-id>) -- Set slot state.
21) REPLICAS <node-id> -- Return <node-id> replicas.
22) SAVECONFIG - Force saving cluster configuration on disk.
23) SLOTS -- Return information about slots range mappings. Each range is made of:
24)   start, end, master and replicas IP addresses, ports and ids

查看客戶端提供的集群相關命令:redis-cli --cluster help

Cluster Manager Commands:
 create     host1:port1 ... hostN:portN
         --cluster-replicas <arg>
 check     host:port
         --cluster-search-multiple-owners
 info      host:port
 fix      host:port
         --cluster-search-multiple-owners
 reshard    host:port
         --cluster-from <arg>
         --cluster-to <arg>
         --cluster-slots <arg>
         --cluster-yes
         --cluster-timeout <arg>
         --cluster-pipeline <arg>
         --cluster-replace
 rebalance   host:port
         --cluster-weight <node1=w1...nodeN=wN>
         --cluster-use-empty-masters
         --cluster-timeout <arg>
         --cluster-simulate
         --cluster-pipeline <arg>
         --cluster-threshold <arg>
         --cluster-replace
 add-node    new_host:new_port existing_host:existing_port
         --cluster-slave
         --cluster-master-id <arg>
 del-node    host:port node_id
 call      host:port command arg arg .. arg
 set-timeout  host:port milliseconds
 import     host:port
         --cluster-from <arg>
         --cluster-copy
         --cluster-replace

到此這篇關于Docker快速搭建Redis集群的方法示例的文章就介紹到這了,更多相關Docker搭建Redis集群內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

標簽:渭南 棗莊 96 常州 東莞 鹽城 克拉瑪依 日照

巨人網(wǎng)絡通訊聲明:本文標題《Docker快速搭建Redis集群的方法示例》,本文關鍵詞  Docker,快速,搭建,Redis,集群,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker快速搭建Redis集群的方法示例》相關的同類信息!
  • 本頁收集關于Docker快速搭建Redis集群的方法示例的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产喂奶挤奶一区二区三区| 成人影视亚洲图片在线| 日本va欧美va瓶| 精品毛片乱码1区2区3区| 免费看精品久久片| 久久久久久97三级| 欧美日韩一区二区三区不卡 | 亚洲精品中文在线观看| 欧美日韩免费视频| 精品美女在线播放| 色婷婷久久久亚洲一区二区三区| 国产精品久久久久久久久久久免费看| 一区二区三区四区在线播放 | 久久9热精品视频| 丝袜亚洲另类欧美综合| 国产在线一区二区| 亚洲精品乱码久久久久久日本蜜臀| 精品成人一区二区三区四区| 久久精品国产一区二区三| 欧美日韩国产成人在线免费| 99精品欧美一区| 韩国视频一区二区| 国产又粗又猛又爽又黄91精品| 国产日韩欧美精品综合| 国产成人精品亚洲777人妖| 国产一区二区不卡老阿姨| 一区二区三区在线免费播放| 久久不见久久见中文字幕免费| 欧美亚洲另类激情小说| 欧美福利视频导航| 有坂深雪av一区二区精品| 免费在线看一区| 久久疯狂做爰流白浆xx| 亚洲靠逼com| 五月天欧美精品| 国产精品福利电影一区二区三区四区 | 免费成人美女在线观看.| 日韩一区欧美二区| 久久99国产精品成人| 国产成人综合在线| 欧美色图第一页| 国产亚洲精久久久久久| 亚洲一区二区三区爽爽爽爽爽| 久久超碰97中文字幕| aaa欧美日韩| 亚洲超碰精品一区二区| 91色在线porny| 五月婷婷久久综合| 欧美日韩免费不卡视频一区二区三区| 亚洲欧洲成人精品av97| 大陆成人av片| 日韩美女视频一区| 在线欧美日韩国产| 日本视频一区二区| 久久久99精品久久| 色哟哟亚洲精品| 日本最新不卡在线| 在线播放中文字幕一区| 欧美性做爰猛烈叫床潮| 91啪亚洲精品| 欧美性生活久久| 欧美日韩精品欧美日韩精品一| 欧美一级日韩免费不卡| 国产精品麻豆99久久久久久| 亚洲欧美福利一区二区| 亚洲综合在线第一页| 麻豆91在线看| 欧美主播一区二区三区美女| 国产精品成人午夜| 国产一区二区三区久久久| 国产精品综合在线视频| 亚洲一区二区三区四区在线观看| 久久在线免费观看| 久久久久9999亚洲精品| 中文字幕一区二区三区不卡| 日韩一区二区在线免费观看| 国产精品你懂的在线欣赏| 99视频精品全部免费在线| 成人黄色小视频在线观看| 中文字幕综合网| 91久久一区二区| 免费人成在线不卡| 中文字幕在线播放不卡一区| 91网站视频在线观看| 日韩精品91亚洲二区在线观看| 日韩亚洲欧美中文三级| 丁香六月久久综合狠狠色| 亚洲美女屁股眼交| 国产亚洲精品7777| 精品国产精品网麻豆系列| 一本到三区不卡视频| 国产91丝袜在线播放| 日韩不卡一区二区三区| 亚洲乱码精品一二三四区日韩在线| 欧美日本在线看| 欧美xingq一区二区| 欧美男生操女生| 欧美一级黄色片| 久久婷婷成人综合色| 日韩一区二区三区免费观看 | 最好看的中文字幕久久| 一区二区三区不卡视频在线观看 | 日韩电影在线观看电影| 香蕉久久一区二区不卡无毒影院| 日韩av中文字幕一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 欧美成人一区二区三区片免费| 亚洲一区二区五区| 欧美mv和日韩mv的网站| 视频一区在线播放| 欧美mv日韩mv国产网站| 成人午夜视频网站| 日韩中文字幕不卡| 欧美tickling网站挠脚心| 奇米精品一区二区三区四区| 久久日一线二线三线suv| 91色九色蝌蚪| 亚洲一区二区在线免费看| 在线播放亚洲一区| 高清国产一区二区| 天堂在线亚洲视频| 亚洲三级久久久| 精品成人在线观看| 99久久综合99久久综合网站| 91在线观看免费视频| 2019国产精品| 狠狠色综合色综合网络| 国产精品色呦呦| 国产成人精品亚洲午夜麻豆| 国产69精品久久久久毛片| 在线这里只有精品| 欧美大肚乱孕交hd孕妇| 亚洲一二三四区不卡| 国产+成+人+亚洲欧洲自线| 欧美一区二区三区免费观看视频| 日本一区二区三区高清不卡| 美女尤物国产一区| 欧美日韩国产综合一区二区 | 亚洲精品在线三区| 一卡二卡三卡日韩欧美| 色综合一个色综合| 一区二区三区免费看视频| 日本韩国欧美三级| 一本久道久久综合中文字幕| 欧美一区二视频| 成人小视频免费在线观看| 亚洲精品ww久久久久久p站| 777xxx欧美| jizzjizzjizz欧美| 国产在线观看免费一区| 亚洲一区在线观看视频| 国产欧美精品日韩区二区麻豆天美| 欧美日韩www| 色哟哟一区二区在线观看| 国产aⅴ综合色| 日韩二区三区四区| 中文字幕一区二区三区不卡在线| 欧美日韩国产综合草草| 精品久久久久久久久久久久久久久久久| 欧美成人福利视频| 久久精品国产久精国产爱| bt欧美亚洲午夜电影天堂| 这里是久久伊人| 久久精品久久综合| 欧美日韩在线播放三区四区| 日韩毛片一二三区| 99久久精品免费看| 久久久久国产精品免费免费搜索| 欧美系列亚洲系列| av一区二区三区黑人| 亚洲成人精品影院| 久久综合九色综合欧美98| 色婷婷综合久久| 麻豆中文一区二区| 久久黄色级2电影| 日韩一区二区三区在线| 奇米精品一区二区三区四区| 欧美性一级生活| 97精品久久久久中文字幕 | 国产精品午夜在线观看| 五月天视频一区| 亚洲欧洲韩国日本视频| 色综合久久中文综合久久牛| 亚洲一二三专区| 一本到三区不卡视频| 免费看欧美女人艹b| 婷婷久久综合九色国产成人| 在线播放日韩导航| 洋洋av久久久久久久一区| 欧美刺激脚交jootjob| 成人久久久精品乱码一区二区三区| 91网站黄www| 午夜国产精品影院在线观看| 日韩女同互慰一区二区| 国产在线麻豆精品观看| 中文字幕一区二区三区在线不卡| 一本到不卡免费一区二区| 一区二区三区在线视频观看58| 国产性色一区二区| 最近中文字幕一区二区三区|