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

主頁 > 知識庫 > Redis集群新增、刪除節(jié)點以及動態(tài)增加內(nèi)存的方法

Redis集群新增、刪除節(jié)點以及動態(tài)增加內(nèi)存的方法

熱門標(biāo)簽:十堰營銷電銷機器人哪家便宜 日本中國地圖標(biāo)注 魔獸2青云地圖標(biāo)注 山東外呼銷售系統(tǒng)招商 鄭州人工智能電銷機器人系統(tǒng) 宿遷便宜外呼系統(tǒng)平臺 貴州電銷卡外呼系統(tǒng) 超呼電話機器人 北京400電話辦理收費標(biāo)準(zhǔn)

一、新增服務(wù)節(jié)點到集群中

1、創(chuàng)建配置文件

在主機127.0.0.5上創(chuàng)建新端口的配置文件,如之前有端口直接復(fù)制之前的配置文件即可。復(fù)制完然后修改下配置文件里的端口、內(nèi)存大小、pid的路徑等。

cp redis7001.conf redis7002.conf

2、啟動新的端口

cd ../bin/
./redis-server ../etc/redis7002.conf

 

該操作在127.0.0.6上同樣再操作一次。

3、將新增的兩個端口增加到現(xiàn)有集群中

./redis-cli --cluster add-node 127.0.0.3:7002 127.0.0.1:7002
./redis-cli --cluster add-node 127.0.0.4:7002 127.0.0.1:700

21430f4be50444f20854193613fe1f4346fae577 127.0.0.3:7002@17002 slave 2ef3474dcb875522cd1b03465506065de2ada8e7 0 1630463304000 18 connected
b7e55a3d3eda2777c077c606c090bcfaf6b674fd 127.0.0.1:7002@17002 master - 0 1630463306333 17 connected 0-99 200-399 600-699 800-899 5461-10922
2ef3474dcb875522cd1b03465506065de2ada8e7 127.0.0.2:7002@17002 master - 0 1630463305000 18 connected 100-199 400-599 700-799 900-999 10923-16383
4d0c6a957452191e755c1bb0856307c9da838f79 127.0.0.1:7002@17002 slave b7e55a3d3eda2777c077c606c090bcfaf6b674fd 0 1630463307336 10 connected
1f42f45cd136239d95fc15bda9938821c33138cc 127.0.0.5:7002@17002 master  connected 0
3bc21c09f3318342600205b1b5e6ea129e3608f3 127.0.0.6:6002@17002 myself,master - connected 0

使用命令 cluster nodes 查看集群狀態(tài),發(fā)現(xiàn)兩個節(jié)點默認均為master。這是還沒有對節(jié)點進行分配的原因。

4、設(shè)置從節(jié)點

我們設(shè)置 127.0.0.6:7002 為從節(jié)點,登錄該節(jié)點

redis-cli -c -h 192.168.8.196 -p 5008

指定5008從節(jié)點的主節(jié)點ID,這里我們填寫127.0.0.5:6002的服務(wù)節(jié)點ID,節(jié)點ID為上面查出來第一列的值

cluster replicate 1f42f45cd136239d95fc15bda9938821c33138cc

查看當(dāng)前集群節(jié)點信息 cluster nodes

21430f4be50444f20854193613fe1f4346fae577 127.0.0.3:7002@17002 slave 2ef3474dcb875522cd1b03465506065de2ada8e7 0 1630463304000 18 connected
b7e55a3d3eda2777c077c606c090bcfaf6b674fd 127.0.0.1:7002@17002 master - 0 1630463306333 17 connected 0-99 200-399 600-699 800-899 5461-10922
2ef3474dcb875522cd1b03465506065de2ada8e7 127.0.0.2:7002@17002 master - 0 1630463305000 18 connected 100-199 400-599 700-799 900-999 10923-16383
4d0c6a957452191e755c1bb0856307c9da838f79 127.0.0.1:7002@17002 slave b7e55a3d3eda2777c077c606c090bcfaf6b674fd 0 1630463307336 10 connected
1f42f45cd136239d95fc15bda9938821c33138cc 127.0.0.5:7002@17002 master 0 connected 0
3bc21c09f3318342600205b1b5e6ea129e3608f3 127.0.0.6:6002@17002 myself,slave 1f42f45cd136239d95fc15bda9938821c33138cc  0 1630463307336 0 connected

5、設(shè)置主節(jié)點master

因為新增節(jié)點時并未分配卡槽,需要我們手動對集群進行重新分片遷移數(shù)據(jù),需要重新分片命令 reshard

./redis-cli --cluster reshard 127.0.0.5:7002

執(zhí)行之后會出現(xiàn)下面幾個選項

How many slots do you want to move (from 1 to 16384)? 4096

#它提示我們需要遷移多少slot到7007上,我們平分16384個哈希槽給4個節(jié)點:16384/4 = 4096,我們需要移動4096個槽點到7007上。
#ps:這里分配可以根據(jù)你新增的節(jié)點內(nèi)存和已存在的節(jié)點進行考慮,新增節(jié)點內(nèi)存大可以相對分配的多點

What is the receiving node ID? 63aa476d990dfa9f5f40eeeaa0315e7f9948554d
#這里添加接收節(jié)點的ID,我們填寫127.0.0.5:7002服務(wù)節(jié)點的ID
1.Please enter all the source node IDs.
2.Type ‘a(chǎn)ll' to use all the nodes as source nodes for the hash slots.
3.Type ‘done' once you entered all the source nodes IDs.
4.Source node #1: 
#redis-trib 會向你詢問重新分片的源節(jié)點(source node),即,要從特點的哪個節(jié)點中取出 4096 個哈希槽,還是從全部節(jié)點提取4096個哈希槽, 并將這些槽移動到7007節(jié)點上面。
#如果我們不打算從特定的節(jié)點上取出指定數(shù)量的哈希槽,那么可以向redis-trib輸入 all,這樣的話, 集群中的所有主節(jié)點都會成為源節(jié)點,redis-trib從各個源節(jié)點中各取出一部分哈希槽,湊夠4096個,然后移動到7007節(jié)點上:
1.Source node #1:all  
然后開始從別的主節(jié)點遷移哈希槽,并且確認。
....省略分配內(nèi)容
1.Do you want to proceed with the proposed reshard plan (yes/no)? yes 
#注意這里一定要輸入yes,輸入Y或者其他會終止操作。 
#確認之后,redis-trib就開始執(zhí)行分片操作,將哈希槽一個一個從源主節(jié)點移動到127.0.0.5:7002目標(biāo)主節(jié)點。

重新分片結(jié)束后我們可以check以下節(jié)點的分配情況。

./redis-trib.rb check 127.0.0.1:7001
...省略節(jié)點內(nèi)容
#可以看到7007節(jié)點分片的哈希槽片不是連續(xù)的,間隔的移動。

至此主節(jié)點就添加完畢了

二、刪除節(jié)點

1、刪除從節(jié)點

先登錄 127.0.0.5:7002 節(jié)點,使用 cluster nodes 查看集群節(jié)點信息。

21430f4be50444f20854193613fe1f4346fae577 127.0.0.3:7002@17002 slave 2ef3474dcb875522cd1b03465506065de2ada8e7 0 1630463304000 18 connected
b7e55a3d3eda2777c077c606c090bcfaf6b674fd 127.0.0.1:7002@17002 master - 0 1630463306333 17 connected 0-99 200-399 600-699 800-899 5461-10922
2ef3474dcb875522cd1b03465506065de2ada8e7 127.0.0.2:7002@17002 master - 0 1630463305000 18 connected 100-199 400-599 700-799 900-999 10923-16383
4d0c6a957452191e755c1bb0856307c9da838f79 127.0.0.1:7002@17002 slave b7e55a3d3eda2777c077c606c090bcfaf6b674fd 0 1630463307336 10 connected
1f42f45cd136239d95fc15bda9938821c33138cc 127.0.0.5:7002@17002 myself,master - 0 1630463305000 18 connected 100-199 400-599 700-799 900-999 10923-16383
3bc21c09f3318342600205b1b5e6ea129e3608f3 127.0.0.6:6002@17002 slave 1f42f45cd136239d95fc15bda9938821c33138cc  0 1630463307336 0 connected

將127.0.0.6:7002的節(jié)點ID記錄下來(3bc21c09f3318342600205b1b5e6ea129e3608f3)

執(zhí)行下面命令

./redis-cli --cluster del-node 127.0.0.6 3bc21c09f3318342600205b1b5e6ea129e3608f3

出現(xiàn)以上信息代表刪除成功。

2、刪除主節(jié)點

因為主節(jié)點分配了 slot槽, 所以這里我們必須先把 7002的slot槽放到其他的可用節(jié)點中去,然后再進行移除節(jié)點操作才行,不然會出現(xiàn)數(shù)據(jù)丟失問題。

(1)先把數(shù)據(jù)遷移到其他主節(jié)點中。

./redis-cli --cluster reshard 127.0.0.5:7002

可以看到127.0.0.5:7002中有4461個slot槽,如果想要平均分配,就需要根據(jù)現(xiàn)有多少master主節(jié)點進行平均,然后重復(fù)執(zhí)行以上命令。我下面操作是直接將所有slot槽分配到一個節(jié)點上。

1、How many slots do you want to move (from 1 to 16384)? 4461
2、What is the receiving node ID? b7e55a3d3eda2777c077c606c090bcfaf6b674fd
#這一步是問要將這些slot槽分配到哪個節(jié)點上,我分配到了127.0.0.1:7002上,所以填寫它的ID
3、Please enter all the source node IDs.
  3.1、Type 'all' to use all the nodes as source nodes for the hash slots.
  3.2、Type 'done' once you entered all the source nodes IDs.
3.3、Source node #1:
#這里需要數(shù)據(jù)源,其實就是 127.0.0.5:7002 節(jié)點的ID,因為你是把 7002 節(jié)點的數(shù)據(jù)放到其它地方去, 輸入 7002 的ID
#回車之后會出現(xiàn)再次輸入id
#其實是讓你還可以選擇源節(jié)點,但是我這里只要把 7002 節(jié)點分到其它地方就行,如果沒有再把其它主節(jié)點分攤的需要,此處輸入 done即可,否則輸入其它節(jié)點的ID,最后輸入 done
4.Do you want to proceed with the proposed reshard plan (yes/no)? yes 
#注意這里一定要輸入yes,輸入Y或者其他會終止操作。 
#這里就分配完slot槽了

執(zhí)行完成之后,輸入 cluster nodes 查看節(jié)點信息
可以看到 7002 已經(jīng)沒有槽分配了
接下來就可以按照刪除從節(jié)點的方法刪除主節(jié)點了。

./redis-cli --cluster del-node 127.0.0.6 主節(jié)點ID

再次查看集群信息,發(fā)現(xiàn)主節(jié)點也刪掉了。

三、動態(tài)擴容內(nèi)存

在業(yè)務(wù)運行時,redis內(nèi)存不夠了怎么辦,無非兩種辦法,要么刪除無用的key,要么就是增加節(jié)點內(nèi)存,當(dāng)刪除key之后還是無法滿足需求,就只能增加內(nèi)存。redis提供了不停服務(wù)增加內(nèi)存的命令 CONFIG SET parameter value
1、CONFIG SET 命令可以動態(tài)地調(diào)整 Redis 服務(wù)器的配置(configuration)而無須重啟。
2、你可以使用它修改配置參數(shù),或者改變 Redis 的持久化(Persistence)方式。
3、CONFIG SET 可以修改的配置參數(shù)可以使用命令 CONFIG GET * 來列出,所有被 CONFIG SET 修改的配置參數(shù)都會立即生效。

1、動態(tài)將7002端口內(nèi)存從5G提升至10G

1、先獲取當(dāng)前最大內(nèi)存

redis 127.0.0.1:7002> config get maxmemory
1) "maxmemory"
2) "5000000000"

2、設(shè)置新的最大內(nèi)存

redis 127.0.0.1:6379> config set maxmemory 10G
OK
#其實set 10G是不規(guī)范的,最好的是換算下填寫10737418240

3、查看修改后的值

redis 127.0.0.1:6379> CONFIG GET maxmemory
1) "maxmemory"
2) "10000000000"

附:可以動態(tài)設(shè)置的值

127.0.0.1:6379> CONFIG GET *
 1) "dbfilename"
  2) "dump.rdb"
  3) "requirepass"
  4) "123456"
  5) "masterauth"
  6) ""
  7) "unixsocket"
  8) ""
  9) "logfile"
 10) "/diskc/redis-2.8.19/log/6379_slave.log"
 11) "pidfile"
 12) "/var/run/redis.pid"
 13) "maxmemory"
 14) "10000000000"
 15) "maxmemory-samples"
 16) "3"
 17) "timeout"
 18) "0"
 19) "tcp-keepalive"
 20) "0"
 21) "auto-aof-rewrite-percentage"
 22) "100"
 23) "auto-aof-rewrite-min-size"
 24) "67108864"
 25) "hash-max-ziplist-entries"
 26) "512"
 27) "hash-max-ziplist-value"
 28) "64"
 29) "list-max-ziplist-entries"
 30) "512"
 31) "list-max-ziplist-value"
 32) "64"
 33) "set-max-intset-entries"
 34) "512"
 35) "zset-max-ziplist-entries"
 36) "128"
 37) "zset-max-ziplist-value"
 38) "64"
 39) "hll-sparse-max-bytes"
 40) "3000"
 41) "lua-time-limit"
 42) "5000"
 43) "slowlog-log-slower-than"
 44) "100000"
 45) "latency-monitor-threshold"
 46) "0"
 47) "slowlog-max-len"
 48) "128"
 49) "port"
 50) "6379"
 51) "tcp-backlog"
 52) "511"
 53) "databases"
 54) "16"
 55) "repl-ping-slave-period"
 56) "10"
 57) "repl-timeout"
 58) "60"
 59) "repl-backlog-size"
 60) "1048576"
 61) "repl-backlog-ttl"
 62) "3600"
 63) "maxclients"
 64) "15000"
 65) "watchdog-period"
 66) "200"
 67) "slave-priority"
 68) "100"
 69) "min-slaves-to-write"
 70) "0"
 71) "min-slaves-max-lag"
 72) "10"
 73) "hz"
 74) "10"
 75) "repl-diskless-sync-delay"
 76) "5"
 77) "no-appendfsync-on-rewrite"
 78) "no"
 79) "slave-serve-stale-data"
 80) "yes"
 81) "slave-read-only"
 82) "yes"
 83) "stop-writes-on-bgsave-error"
 84) "yes"
 85) "daemonize"
 86) "yes"
 87) "rdbcompression"
 88) "yes"
 89) "rdbchecksum"
 90) "yes"
 91) "activerehashing"
 92) "yes"
 93) "repl-disable-tcp-nodelay"
 94) "no"
 95) "repl-diskless-sync"
 96) "no"
 97) "aof-rewrite-incremental-fsync"
 98) "yes"
 99) "aof-load-truncated"
100) "yes"
101) "appendonly"
102) "no"
103) "dir"
104) "/diskc/redis-2.8.19"
105) "maxmemory-policy"
106) "volatile-lru"
107) "appendfsync"
108) "everysec"
109) "save"
110) "900 1 300 10 60 10000"
111) "loglevel"
112) "notice"
113) "client-output-buffer-limit"
114) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60"
115) "unixsocketperm"
116) "0"
117) "slaveof"
118) ""
119) "notify-keyspace-events"
120) ""
121) "bind"
122) ""

 到此這篇關(guān)于Redis集群新增、刪除節(jié)點以及動態(tài)增加內(nèi)存的方法的文章就介紹到這了,更多相關(guān)Redis集群新增刪除節(jié)點及動態(tài)增加內(nèi)存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Redis有序集合類型的操作_動力節(jié)點Java學(xué)院整理
  • Redis集群增加節(jié)點與刪除節(jié)點的方法詳解
  • redis事務(wù)_動力節(jié)點Java學(xué)院整理
  • redis與memcached的區(qū)別_動力節(jié)點Java學(xué)院整理
  • 了解redis中RDB結(jié)構(gòu)_動力節(jié)點Java學(xué)院整理

標(biāo)簽:北京 臺州 江蘇 果洛 吉安 朝陽 楊凌 大慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Redis集群新增、刪除節(jié)點以及動態(tài)增加內(nèi)存的方法》,本文關(guān)鍵詞  Redis,集群,新增,刪除,節(jié)點,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Redis集群新增、刪除節(jié)點以及動態(tài)增加內(nèi)存的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Redis集群新增、刪除節(jié)點以及動態(tài)增加內(nèi)存的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 北宁市| 辉县市| 恩施市| 泌阳县| 保定市| 阆中市| 城步| 利辛县| 桃源县| 黄浦区| 五台县| 盐亭县| 镇江市| 琼海市| 阿荣旗| 斗六市| 安岳县| 同江市| 利川市| 兰考县| 纳雍县| 赣州市| 福安市| 四平市| 玉树县| 永靖县| 江西省| 嵩明县| 宁武县| 德清县| 济宁市| 大厂| 遵化市| 宁河县| 湖北省| 方山县| 玛纳斯县| 达尔| 桂阳县| 洞口县| 资溪县|