麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > Redis > 正文

Redis集群增加節點與刪除節點的方法詳解

2020-10-28 21:29:02
字體:
來源:轉載
供稿:網友

前言

  本文主要是承接上一篇文章Redis集群的離線安裝成功以后,我們如何進行給集群增加新的主從節點(集群擴容)以及如何從集群中刪除節點(集群縮容),也就是集群的伸縮,集群伸縮的原理是控制虛擬槽和數據在節點之間進行移動,通過實際操作來整理一下集群的伸縮。

  上篇文章中搭建好的集群為三主三從,端口號為7000、7001、7002、7003、7004、7005。

  查看集群啟動情況:ps -ef | grep redis

查看集群的slots分配情況以及節點之間的主從關系:

  首先登陸節點7000:redis-cli -p 7000 -h 192.168.182.132 -c //注意不要丟了-c

  cluster nodes 查看集群節點信息

  在本例中我們先增加兩個節點:主節點7006和從節點7007,并給7006分配4096個slots,設置7007為7006的從節點,然后再將這兩個節點從集群中刪除,一定要先刪除主節點,再刪除從節點,要不然故障轉移會生效。

一、集群的擴容

  1.準備新的節點

    在集群目錄redis_cluster目錄下增加redis7006和redis7007目錄

    mkdir redis7006

    mkdir redis7007

    增加完成后的目錄

   復制端口7000的redis.conf配置文件到redis7006和redis7007目錄下,并修改配置文件中的端口為對應目錄的端口號。

  例如redis7006下的redis.conf文件的內容為:

port 7006bind 192.168.182.132 //本機IPdaemonize yes //設置為后臺運行pidfile /var/run/redis-7006.pidcluster-enabled yes //開啟集群cluster-config-file node-7006.confcluster-node-timeout 15000appendonly yes

  準備完成后,啟動兩個新的redis節點:

redis-server redis7006/redis.confredis-server redis7007/redis.confps -ef | grep redis //查看新的redis節點是否啟動成功

  啟動以后登錄7006查看節點情況:

redis-cli -p 7006 -h 192.168.182.132 -ccluster nodes

  2.添加主節點

  (1)向集群中添加節點7006,注意一定要保證節點里面沒有添加過任何數據,不然添加會報錯。

 cd /usr/local/redis/redis/src./redis-trib.rb add-node 192.168.182.132:7006 192.168.182.132:7000 //第一次節點為新增的節點 第二個節點為集群中的節點

  添加成功:

    可以看到使用addnode命令來添加節點,第一個參數是新節點的地址,第二個參數是任意一個已經存在的節點的IP和端口. 我們可以看到新的節點已經添加到集群中:

  新節點7006現在已經連接上了集群, 成為集群的一份子, 并且可以對客戶端的命令請求進行轉向了, 但是和其他主節點相比, 新節點還有兩點區別:

新節點沒有包含任何數據, 因為它沒有包含任何哈希槽.盡管新節點沒有包含任何哈希槽, 但它仍然是一個主節點, 所以在集群需要將某個從節點升級為新的主節點時, 這個新節點不會被選中。

    接下來, 只要使用 redis-trib 程序, 將集群中的某些哈希桶移動到新節點里面, 新節點就會成為真正的主節點了。

    (2)為主節點7006分配虛擬槽

cd /usr/local/redis/redis/src./redis-trib.rb reshard 192.168.182.132:7001 //可以為任意的節點 在此登錄的7001只是作為客戶端去訪問的

執行后:

  因為我們增加7006為主節點后,一共存在四個主節點,為了平均分配我們需要給7006分配16384除以4等于4096個節點,所以我們輸入4096,按enter繼續:

  輸入7006的節點ID,按enter繼續:

  從哪些主節點抽取槽到新節點中:all為所有主節點,done:指定節點,在這里我們輸入all,按enter繼續:

  輸入yes后按enter開始給7006分配虛擬槽,分配完成后:

    登錄集群查看一下集群的狀態:

redis-cli -p 7000 -h 192.168.182.132 -ccluster nodes

    至此主節點已經添加完畢了,我們的集群由三主三從變成了四主三從。

  3.添加從節點7007

   (1)使用add-node添加新節點

 cd /usr/local/redis/redis/src./redis-trib.rb add-node 192.168.182.132:7007 192.168.182.132:7000 //第一次節點為新增的節點 第二個節點為集群中的節點

  加入集群成功,登錄到集群中查看一下集群狀態:

  7007還是一個Master節點,而且沒有擁有自己的slot槽。那么我們接下來要讓它變成從節點。

  (2)將7007變為7006的 從節點

   使用CLUSTER REPLICATE 命令改變一個從節點的主節點。

redis-cli -p 7007 -h 192.168.182.132cluster replicate 52d169e7011ccdf10f99c1d83f92409dcc37ab55 //后面的字符串為節點7006的節點ID

  設置成功后查看一下:

    集群的從節點7007添加成功。

二、集群的縮容

  只要使用del-node命令即可:

./redis-trib del-node 127.0.0.1:7000 <node-id>第一個參數是任意一個節點的地址,第二個節點是你想要移除的節點地址。

使用同樣的方法移除主節點,不過在移除主節點前,需要確保這個主節點是空的. 如果不是空的,需要將這個節點的數據重新分片到其他主節點上.

替代移除主節點的方法是手動執行故障恢復,被移除的主節點會作為一個從節點存在,不過這種情況下不會減少集群節點的數量,也需要重新分片數據.[/code]

  1.刪除從節點

   刪除節點用del-node命令。此命令需要制定刪除節點的ip和端口,以及節點的id。

cd /usr/local/redis/redis/src./redis-trib.rb del-node 192.168.182.132:7007 7007節點ID

  刪除成功后:

  刪除后我們再次查看集群的節點信息,如下所示,7007從節點已經被移除掉。

  2.刪除主節點

  (1)將主節點7006的slots分配到其他主節點上

  cd /usr/local/redis/redis/src  ./redis-trib.rb reshard 192.168.182.132:7006

    選擇完這幾項以后,回車繼續:

    輸入yes,表示接受這個計劃,然后回車,完成7006節點的槽的移除。

    登錄集群查看當前集群情況:

    節點7006上沒有任何槽。

  (2)使用del-node命令來刪除7006主節點。

cd /usr/local/redis/redis/src./redis-trib.rb del-node 192.168.182.132:7006 52d169e7011ccdf10f99c1d83f92409dcc37ab55

  刪除成功:

  最后登錄查看集群又恢復到了三主三從的結構了,只是從剛開始的均勻分配變成了7000端口的主節點多了4096個slots。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 色婷婷久久久亚洲一区二区三区 | 久久久精品网 | 欧美大电影免费观看 | 日韩欧美电影在线观看 | 欧美乱淫 | 好吊一区二区三区 | 黄色片网站在线播放 | 久久综合艹 | 欧美成人精品欧美一级乱黄 | 亚洲午夜1000理论片aa | 久色乳综合思思在线视频 | 成人短视频在线观看 | 中国嫩模一级毛片 | 亚洲成人午夜精品 | 91福利社在线 | 成人毛片免费视频 | 在线免费观看精品 | 国产精品热 | 亚洲精品午夜在线 | 国产成人在线视频播放 | 久久亚洲春色中文字幕久久 | 斗罗破苍穹在线观看免费完整观看 | 2018亚洲男人天堂 | 成人情欲视频在线看免费 | av在线免费看网站 | 免费国产视频在线观看 | 99re热视频这里只精品 | 一本一本久久a久久精品综合小说 | 久久久www成人免费精品 | 日韩一级片毛片 | 国产精品亚洲精品日韩已方 | 日韩中文字幕一区二区三区 | 黄色免费小视频网站 | 男女羞羞视频在线观看免费 | h色网站在线观看 | 电影av在线| 今井夏帆av一区二区 | 一级国产精品一级国产精品片 | 新久久久久久 | 鲁丝一区二区三区不属 | 日韩一级成人 |