婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

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

什么是Redis集群

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

節點

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

集群配置

配置文件

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

調整 CLUSTER 節點配置

# 開啟cluster集群
cluster-enabled yes

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

# 集群節點超時
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

# 創建數據目錄
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")

# 獲取容器啟動狀態
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)

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

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

啟動服務

執行腳本文件,默認創建6個節點

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 - 啟動成功

執行 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個獨立集群節點創建完畢,目前還無法正常工作。

創建集群

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

獲取容器為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

初次創建集群執行

./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 <端口>

執行命令: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集群內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

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

巨人網絡通訊聲明:本文標題《Docker快速搭建Redis集群的方法示例》,本文關鍵詞  Docker,快速,搭建,Redis,集群,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker快速搭建Redis集群的方法示例》相關的同類信息!
  • 本頁收集關于Docker快速搭建Redis集群的方法示例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久影院午夜片一区| 国产成人夜色高潮福利影视| 日本久久一区二区| 成人永久免费视频| 国产东北露脸精品视频| 99久久夜色精品国产网站| 国产精品自拍av| 国产成人精品www牛牛影视| 成人免费的视频| 在线观看日韩国产| 69精品人人人人| 欧美精品一区男女天堂| 久久久久一区二区三区四区| 日本一区二区视频在线| 亚洲欧美影音先锋| 男女激情视频一区| 懂色中文一区二区在线播放| 91极品美女在线| 久久精品欧美一区二区三区麻豆| 亚洲男人天堂av网| 久久er精品视频| 色婷婷精品久久二区二区蜜臂av| 欧美电视剧在线观看完整版| 亚洲国产精品成人综合色在线婷婷 | 91麻豆精东视频| 日韩亚洲欧美高清| 18成人在线观看| 午夜欧美视频在线观看| 国产精品99久| 777久久久精品| 自拍偷拍欧美激情| 日本aⅴ精品一区二区三区 | 日韩视频不卡中文| 亚洲精选一二三| 国产成人免费在线观看不卡| 91精品国产综合久久久久| 一区二区三区小说| av不卡一区二区三区| 国产午夜精品久久久久久免费视 | 亚洲精品国产一区二区精华液| 国产女同互慰高潮91漫画| 日韩avvvv在线播放| 欧美日韩国产美| 亚洲免费观看高清完整版在线观看| 日韩高清不卡在线| 欧美性大战久久久久久久| 日日夜夜免费精品视频| 不卡的看片网站| 国产人成一区二区三区影院| 国产精品视频第一区| 中文字幕一区二| 成人精品免费视频| 国产日产欧美精品一区二区三区| 久久成人久久爱| 久久亚洲一级片| 亚洲人成网站色在线观看| 国精产品一区一区三区mba桃花 | 国产拍欧美日韩视频二区| 国产在线播精品第三| 久久久亚洲精品一区二区三区| 久久91精品国产91久久小草| 欧美一区二区三区爱爱| 久久福利视频一区二区| 26uuu国产日韩综合| 成人午夜精品在线| 亚洲另类在线视频| 欧美日韩一区二区不卡| 免费xxxx性欧美18vr| 欧美成va人片在线观看| 国产福利一区二区三区视频在线| 国产精品国产三级国产普通话蜜臀| 99精品热视频| 日韩国产精品久久久| 欧美精品一区二区三区视频| 懂色av一区二区三区蜜臀| 亚洲一区二区视频在线观看| 欧美一区午夜视频在线观看| 激情五月激情综合网| av在线免费不卡| 亚洲韩国一区二区三区| 国产精品一区三区| 亚洲色欲色欲www| 国产激情精品久久久第一区二区 | 美女视频黄久久| 国产精品视频九色porn| 欧美顶级少妇做爰| 国产成人av福利| 午夜一区二区三区在线观看| 国产三级精品三级| 在线视频综合导航| 日韩精品一级二级| 欧美videos中文字幕| 色素色在线综合| 国产精品99久久久久久有的能看| 亚洲成人免费观看| 国产精品久久网站| 日韩美女主播在线视频一区二区三区| 成av人片一区二区| 国产乱人伦精品一区二区在线观看| 一区二区三区四区乱视频| 欧美大片顶级少妇| 91麻豆精品国产91久久久久久久久| av激情成人网| 国产久卡久卡久卡久卡视频精品| 亚洲成人黄色影院| 欧美美女一区二区在线观看| 国产精品1024| 久久精品国产成人一区二区三区| 亚洲第一成人在线| 亚洲一区在线电影| 成人免费视频在线观看| 久久九九国产精品| 精品国产乱子伦一区| 欧美日韩在线电影| 91看片淫黄大片一级在线观看| 国产一区二区精品久久| 麻豆91精品91久久久的内涵| 午夜久久久久久| 亚洲国产wwwccc36天堂| 在线精品视频免费播放| 国产白丝精品91爽爽久久| 日韩精品一卡二卡三卡四卡无卡| 欧美高清视频在线高清观看mv色露露十八 | 免费成人av在线| 蜜臀精品久久久久久蜜臀| 五月开心婷婷久久| 国产日韩av一区二区| 久久香蕉国产线看观看99| 在线中文字幕一区二区| 色综合天天综合网天天看片| 91麻豆国产精品久久| 色欧美片视频在线观看在线视频| www.综合网.com| 99国产精品视频免费观看| 97精品超碰一区二区三区| av男人天堂一区| 91福利国产精品| 91精品国产全国免费观看 | 欧美三级一区二区| 欧美日韩免费观看一区三区| 91麻豆精品久久久久蜜臀| 精品国产伦一区二区三区免费 | 2019国产精品| 欧美国产日韩在线观看| 欧美无砖专区一中文字| 7777女厕盗摄久久久| 欧美一区二区日韩一区二区| 欧美精品一区二区三区蜜桃| 欧美激情一区不卡| 亚洲一区二区三区四区五区黄| 日本亚洲三级在线| 风流少妇一区二区| 欧美熟乱第一页| 日韩欧美一二三| 在线观看国产精品网站| 久久99精品久久只有精品| 国产成人在线免费观看| 国产亚洲精品中文字幕| 欧美色网站导航| 久久综合色一综合色88| 国产很黄免费观看久久| 国产精品毛片无遮挡高清| 91久久精品一区二区二区| 日韩专区中文字幕一区二区| 日韩一区二区麻豆国产| 国产乱国产乱300精品| 1024成人网| 欧美一区二区在线观看| 国产自产v一区二区三区c| 中文字幕亚洲一区二区va在线| 色妞www精品视频| 久久精品国产77777蜜臀| 中文字幕中文字幕一区二区| 精品视频在线免费看| 国产一区二区福利视频| 亚洲综合色网站| 欧美激情在线一区二区三区| 欧美电影在线免费观看| 99久久久久免费精品国产| 美美哒免费高清在线观看视频一区二区| 亚洲国产精品精华液2区45| 欧美视频一二三区| 国产成人自拍高清视频在线免费播放| 亚洲黄色尤物视频| 久久精品欧美一区二区三区不卡 | 欧美日韩一区 二区 三区 久久精品| 日本欧美一区二区三区| 国产精品黄色在线观看| 欧美一区二区三区啪啪| 色又黄又爽网站www久久| 国产精品一级在线| 天堂一区二区在线| 亚洲欧美日韩成人高清在线一区| 精品久久五月天| 欧美女孩性生活视频| 91玉足脚交白嫩脚丫在线播放| 九一久久久久久| 日本最新不卡在线| 午夜精品福利一区二区蜜股av| 亚洲日本免费电影|