日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis cluster日常管理【二】

發(fā)布時間:2025/4/16 数据库 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis cluster日常管理【二】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前面在Redis集群架構搭建詳解博文中搭建了一個redis集群,這篇博文就是在那個redis集群基礎上進行操作的。

一、添加新節(jié)點

  • 在10.220.5.172上在新配置兩個實例
  • ①新增配置

    # cd /redis/ # mkdir 6379 6380 # cp 26379/redis-26379.conf 6379/redis-6379.conf && sed -i "s/26379/6379/g" 6379/redis-6379.conf # cp 26380/redis-26380.conf 6380/redis-6380.conf && sed -i "s/26380/6380/g" 6380/redis-6380.conf

    ②啟動

    # /root/redis-4.0.11/src/redis-server /redis/6380/redis-6380.conf # /root/redis-4.0.11/src/redis-server /redis/6379/redis-6379.conf

    ③查看是否啟動成功

    # ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 10.220.5.172:16380 *:* LISTEN 0 128 10.220.5.172:36380 *:* LISTEN 0 128 10.220.5.172:6379 *:* LISTEN 0 128 10.220.5.172:26379 *:* LISTEN 0 128 10.220.5.172:6380 *:* LISTEN 0 128 10.220.5.172:26380 *:* LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 10.220.5.172:16379 *:* LISTEN 0 128 10.220.5.172:36379 *:* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::*
  • 添加主節(jié)點
  • ① 在10.220.5.173節(jié)點執(zhí)行如下命令

    # /root/redis-4.0.11/src/redis-trib.rb add-node 10.220.5.172:6379 10.220.5.171:16379說明:10.220.5.172:6379是新增節(jié)點,后面的可以是集群中任意一個舊節(jié)點>>> Adding node 10.220.5.172:6379 to cluster 10.220.5.171:16379 >>> Performing Cluster Check (using node 10.220.5.171:16379) M: 56d2348f3eb66f669405b8064fb8c068cca94105 10.220.5.171:16379slots:0-5460 (5461 slots) master1 additional replica(s) M: 93a37f72f33752779183d70835a101c086bbad01 10.220.5.172:26379slots:5461-10922 (5462 slots) master1 additional replica(s) S: 2c978644384445bf1bdfd3ed2b585f949f574f63 10.220.5.172:26380slots: (0 slots) slavereplicates 56d2348f3eb66f669405b8064fb8c068cca94105 S: 8540a124e3a876ad2357d6bd10e09091612b3291 10.220.5.173:36380slots: (0 slots) slavereplicates 93a37f72f33752779183d70835a101c086bbad01 S: 35c6cc6fb84b3c1a76e4f225bb8477f519abb559 10.220.5.171:16380slots: (0 slots) slavereplicates 66d902b3ad7b4342720f5aeb98dfffa2b9c013fc M: 66d902b3ad7b4342720f5aeb98dfffa2b9c013fc 10.220.5.173:36379slots:10923-16383 (5461 slots) master1 additional replica(s) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. >>> Send CLUSTER MEET to node 10.220.5.172:6379 to make it join the cluster. [OK] New node added correctly.

    ②檢查一下是否加入成功

    # redis-4.0.11/src/redis-trib.rb check 10.220.5.172:26379 >>> Performing Cluster Check (using node 10.220.5.172:26379) M: 93a37f72f33752779183d70835a101c086bbad01 10.220.5.172:26379slots:5461-10922 (5462 slots) master1 additional replica(s) S: 8540a124e3a876ad2357d6bd10e09091612b3291 10.220.5.173:36380slots: (0 slots) slavereplicates 93a37f72f33752779183d70835a101c086bbad01 S: 2c978644384445bf1bdfd3ed2b585f949f574f63 10.220.5.172:26380slots: (0 slots) slavereplicates 56d2348f3eb66f669405b8064fb8c068cca94105 M: f523db5333150607a347fa9e55a282bcbe67b5aa 10.220.5.172:6379slots: (0 slots) master0 additional replica(s) M: 66d902b3ad7b4342720f5aeb98dfffa2b9c013fc 10.220.5.173:36379slots:10923-16383 (5461 slots) master1 additional replica(s) M: 56d2348f3eb66f669405b8064fb8c068cca94105 10.220.5.171:16379slots:0-5460 (5461 slots) master1 additional replica(s) S: 35c6cc6fb84b3c1a76e4f225bb8477f519abb559 10.220.5.171:16380slots: (0 slots) slavereplicates 66d902b3ad7b4342720f5aeb98dfffa2b9c013fc [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. 可以看到10.220.5.172:6379已經(jīng)加入到了集群中并且還是主節(jié)點其id為:f523db5333150607a347fa9e55a282bcbe67b5aa
  • 添加從節(jié)點
  • ①在10.220.5.173節(jié)點執(zhí)行如下命令

    # /root/redis-4.0.11/src/redis-trib.rb add-node --slave --master-id f523db5333150607a347fa9e55a282bcbe67b5aa 10.220.5.172:6380 10.220.5.171:16380說明:--slave,表示添加的是從節(jié)點 --master-id,后面跟的是主節(jié)點的node-d這里是簽名上一步添加的那個6379的node id 10.220.5.172:6380,是即將添加入集群的節(jié)點,最后面的是原集群的任意一個節(jié)點即可>>> Adding node 10.220.5.172:6380 to cluster 10.220.5.171:16380 >>> Performing Cluster Check (using node 10.220.5.171:16380) S: 35c6cc6fb84b3c1a76e4f225bb8477f519abb559 10.220.5.171:16380slots: (0 slots) slavereplicates 66d902b3ad7b4342720f5aeb98dfffa2b9c013fc M: 93a37f72f33752779183d70835a101c086bbad01 10.220.5.172:26379slots:5461-10922 (5462 slots) master1 additional replica(s) S: 8540a124e3a876ad2357d6bd10e09091612b3291 10.220.5.173:36380slots: (0 slots) slavereplicates 93a37f72f33752779183d70835a101c086bbad01 S: 2c978644384445bf1bdfd3ed2b585f949f574f63 10.220.5.172:26380slots: (0 slots) slavereplicates 56d2348f3eb66f669405b8064fb8c068cca94105 M: 56d2348f3eb66f669405b8064fb8c068cca94105 10.220.5.171:16379slots:0-5460 (5461 slots) master1 additional replica(s) M: 66d902b3ad7b4342720f5aeb98dfffa2b9c013fc 10.220.5.173:36379slots:10923-16383 (5461 slots) master1 additional replica(s) M: f523db5333150607a347fa9e55a282bcbe67b5aa 10.220.5.172:6379slots: (0 slots) master0 additional replica(s) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. >>> Send CLUSTER MEET to node 10.220.5.172:6380 to make it join the cluster. Waiting for the cluster to join....... >>> Configure node as replica of 10.220.5.172:6379. [OK] New node added correctly.
  • 重新分配slot
  • 新增加的節(jié)點是沒有slots的M: f523db5333150607a347fa9e55a282bcbe67b5aa 10.220.5.172:6379 slots: (0 slots) master主節(jié)點沒有slots存取數(shù)據(jù)的時候就不會被選中,為其分配slots的方式有兩種:

    • 所有節(jié)點的slots收回重新分配
    • 從某個節(jié)點抽取部分slots分配給新節(jié)點

    ①在10.220.5.173節(jié)點執(zhí)行下面命令

    # /root/redis-4.0.11/src/redis-trib.rb reshard 10.220.5.172:6379 How many slots do you want to move (from 1 to 16384)? 1000 >>>設置slot個數(shù) What is the receiving node ID? f523db5333150607a347fa9e55a282bcbe67b5aa >>>新節(jié)點的node id 這里就是那個新添加的10.220.5.172:6379的node id Source node #1:all >>>表示全部節(jié)點重新分配槽,此處輸入某節(jié)點的node id的話表示從某個節(jié)點抽取slots分配給新節(jié)點 Do you want to proceed with the proposed reshard plan (yes/no)? yes >>>確認重新分配
  • 查看一下集群的狀態(tài)
  • redis-4.0.11/src/redis-trib.rb check 10.220.5.172:26379 >>> Performing Cluster Check (using node 10.220.5.172:26379) M: 93a37f72f33752779183d70835a101c086bbad01 10.220.5.172:26379slots:6129-10922 (4794 slots) master1 additional replica(s) S: 76b5218ca0729fbe305c65a8a4aefae4462a58fc 10.220.5.172:6380slots: (0 slots) slavereplicates f523db5333150607a347fa9e55a282bcbe67b5aa S: 8540a124e3a876ad2357d6bd10e09091612b3291 10.220.5.173:36380slots: (0 slots) slavereplicates 93a37f72f33752779183d70835a101c086bbad01 S: 2c978644384445bf1bdfd3ed2b585f949f574f63 10.220.5.172:26380slots: (0 slots) slavereplicates 56d2348f3eb66f669405b8064fb8c068cca94105 M: f523db5333150607a347fa9e55a282bcbe67b5aa 10.220.5.172:6379slots:0-665,5461-6128,10923-11588 (2000 slots) master1 additional replica(s)可以看到我們新加入的節(jié)點已經(jīng)被分配了slots,我這里為了演示第四步做了兩次所以我這里是有2000個slotsM: 66d902b3ad7b4342720f5aeb98dfffa2b9c013fc 10.220.5.173:36379slots:11589-16383 (4795 slots) master1 additional replica(s) M: 56d2348f3eb66f669405b8064fb8c068cca94105 10.220.5.171:16379slots:666-5460 (4795 slots) master1 additional replica(s) S: 35c6cc6fb84b3c1a76e4f225bb8477f519abb559 10.220.5.171:16380slots: (0 slots) slavereplicates 66d902b3ad7b4342720f5aeb98dfffa2b9c013fc [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.

    二、刪除節(jié)點

    刪除從節(jié)點,10.220.5.172:6380

    # /root/redis-4.0.11/src/redis-trib.rb del-node 10.220.5.171:16379 76b5218ca0729fbe305c65a8a4aefae4462a58fc說明: 10.220.5.171:16379,集群入口76b5218ca0729fbe305c65a8a4aefae4462a58fc,要刪除的10.220.5.176:6380節(jié)點的node id>>> Removing node 76b5218ca0729fbe305c65a8a4aefae4462a58fc from cluster 10.220.5.172:6380 >>> Sending CLUSTER FORGET messages to the cluster... >>> SHUTDOWN the node.

    刪除主節(jié)點,10.220.5.172:6379
    如果主節(jié)點有從節(jié)點,將從節(jié)點轉移到其他主節(jié)點,如果主節(jié)點有slot,去掉分配的slot然后再刪除主節(jié)點

    # /root/redis-4.0.11/src/redis-trib.rb reshard 10.220.5.172:6379 How many slots do you want to move (from 1 to 16384)? 1000 >>>這里寫被刪除的master的全部slot數(shù)量 What is the receiving node ID? 56d2348f3eb66f669405b8064fb8c068cca94105 >>>接收被刪除節(jié)點的slot的master的node id Source node #1:f523db5333150607a347fa9e55a282bcbe67b5aa >>>被刪除的master的node-id Source node #2:done Do you want to proceed with the proposed reshard plan (yes/no)? yes >>>是否希望取消slot以后,reshard#刪除節(jié)點 # /root/redis-4.0.11/src/redis-trib.rb del-node 10.220.5.171:16379 f523db5333150607a347fa9e55a282bcbe67b5aa >>> Removing node f523db5333150607a347fa9e55a282bcbe67b5aa from cluster 10.220.5.171:16379 >>> Sending CLUSTER FORGET messages to the cluster... >>> SHUTDOWN the node.

    做到這里開篇新添加的一個master和一個slave節(jié)點都被刪除了,也就是回到這篇博文開始沒有添加節(jié)點的狀態(tài)了。

    總結

    以上是生活随笔為你收集整理的Redis cluster日常管理【二】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。