最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis Cluster集群動(dòng)態(tài)擴(kuò)容的實(shí)現(xiàn)

 更新時(shí)間:2021年07月14日 10:35:46   作者:可均可可  
本文主要介紹了Redis Cluster集群動(dòng)態(tài)擴(kuò)容的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、引言

上一篇文章我們一步一步的教大家搭建了Redis的Cluster集群環(huán)境,形成了3個(gè)主節(jié)點(diǎn)和3個(gè)從節(jié)點(diǎn)的Cluster的環(huán)境。當(dāng)然,大家可以使用 Cluster info 命令查看Cluster集群的狀態(tài),也可以使用Cluster Nodes 命令來詳細(xì)了解Cluster集群每個(gè)節(jié)點(diǎn)的詳細(xì)信息和關(guān)系。我們可以在主節(jié)點(diǎn)上增加數(shù)據(jù)、操作數(shù)據(jù),也可以在從節(jié)點(diǎn)上讀取數(shù)據(jù),這些操作當(dāng)然都沒有問題。我們今天這篇文章主要是講解一下如何在不停掉Cluster集群環(huán)境的情況下,動(dòng)態(tài)的往集群環(huán)境中增加主、從節(jié)點(diǎn)和動(dòng)態(tài)的從集群環(huán)境中刪除節(jié)點(diǎn)。好了,廢話不多說,開始我們今天的講解。在開始之前,先要說明一下,因?yàn)閞edis的動(dòng)態(tài)擴(kuò)容操作都是通過redis-trib.rb腳本文件來完成的,所以我們先來看看對(duì)這個(gè)腳本文件的說明,效果如圖:

[root@linux redis] # ruby redis-trib.rb

二、Cluster集群增加操作

現(xiàn)在正好開始我們的操作,我把增加節(jié)點(diǎn)和刪除節(jié)點(diǎn)分開來寫,并且增加或者刪除節(jié)點(diǎn),我都分了兩個(gè)方面來說,一個(gè)方面是主節(jié)點(diǎn)的操作,另一個(gè)方面是從節(jié)點(diǎn)的操作,因?yàn)橹?、從?jié)點(diǎn)在操作上會(huì)有差異,所以分來來說。增加節(jié)點(diǎn)的順序是先增加Master主節(jié)點(diǎn),然后在增加Slave從節(jié)點(diǎn)。當(dāng)然這篇文章是在上一篇文章所講的Cluster集群模式的基礎(chǔ)之上來講的,那就讓我們先來看看上一篇文章所建立的Cluster集群模式的詳細(xì)信息。效果如圖:



1、動(dòng)態(tài)增加Master主服務(wù)器節(jié)點(diǎn)

1.1、創(chuàng)建目錄7006(Master主節(jié)點(diǎn)文件夾)和7007(Slave從節(jié)點(diǎn)文件夾),并從以前Cluster集群節(jié)點(diǎn)7000-7005任一節(jié)點(diǎn)中拷貝配置文件redis.conf到7006和7007目錄下。

[root@linux redis-cluster]# pwd
                [root@linux redis-cluster]# /root/application/program/redis-cluster/

                [root@linux redis-cluster]# mkdir 7006 7007

                [root@linux redis-cluster]# ls
                7000 7001 7002 7003 7004 7005 7006 7007

                   [root@linux redis-cluster]# cp 7000/redis.conf 7006
                   [root@linux redis-cluster]# cp 7000/redis.conf 7007

1、創(chuàng)建目錄:

2、拷貝配置文件:


1.2、修改配置文件,將7006和7007目錄下面的redis.conf配置文件的端口進(jìn)行相應(yīng)修改,與自己的目錄名稱保持一致,修改項(xiàng)目如下:(在linux環(huán)境下可以執(zhí)行如下命令進(jìn)行全局替換::%s/7000/7006/g,%s/7000/7007/g,保存并退出則可)

1.2.1、7006節(jié)點(diǎn)的配置文件:redis.conf

bind 192.168.127.130

                      port 7006
    
                      daemonize yes

                      pidfile /var/run/redis-7006.pid

                      logfile /root/application/program/redis-cluster/7006/redis.log
    
                      dir /root/application/program/redis-cluster/7006/

                      cluster-enabled yes

                      cluster-config-file nodes-7006.conf


                      cluster-node-timeout 15000

                      appendonly yes

                      appendfsync always

1.2.2、7007節(jié)點(diǎn)的配置文件:redis.conf

bind 192.168.127.130

                      port 7007

                      daemonize yes

                      pidfile /var/run/redis-7007.pid

                      logfile /root/application/program/redis-cluster/7007/redis.log
    
                      dir /root/application/program/redis-cluster/7007/

                      cluster-enabled yes

                      cluster-config-file nodes-7007.conf


                      cluster-node-timeout 15000

                      appendonly yes

                      appendfsync always

1.3、啟動(dòng)7006和7007目錄下Redis實(shí)例,并查看效果。

[root@linux redis]# pwd
                [root@linux redis]# /root/application/program/redis/


                [root@linux redis]# redis-server ../redis-cluster/7006/redis.conf
                [root@linux redis]# redis-server ../redis-cluster/7007/redis.conf

效果如圖:



1.4、將7006主節(jié)點(diǎn)加入到Cluster集群。

 [root@linux redis]# pwd
                [root@linux redis]# /root/application/program/redis/

                [root@linux redis]# ruby redis-trib.rb add-node 192.168.127.130:7006 192.168.127.130:7000

注意:當(dāng)添加新節(jié)點(diǎn)成功以后,新的節(jié)點(diǎn)不會(huì)有任何數(shù)據(jù),因?yàn)樗麤]有分配任何的數(shù)據(jù)Slot(哈希slots),這一步需要手動(dòng)操作。

1.4.1、增加7006:(192.168.127.130:7006,截圖地址錯(cuò)誤,端口號(hào)是7006,不是9006)


1.4.2、節(jié)點(diǎn)增加成功。

1.4.3、cluster info 驗(yàn)證:

1.4.4、cluster nodes驗(yàn)證:


1.5、為7006Master主節(jié)點(diǎn)分配數(shù)據(jù)Slots,分配方法是從集群中知道任何一個(gè)主節(jié)點(diǎn)(因?yàn)橹挥蠱aster主節(jié)點(diǎn)才有數(shù)據(jù)slots),然后對(duì)其進(jìn)行重新分片工作。

[root@linux redis]# pwd
                [root@linux redis]# /root/application/program/redis/

                [root@linux redis]# ruby redis-trib.rb reshard 192.168.127.130:7000

1.5.1、分配數(shù)據(jù)槽:


1.5.2、選擇接收數(shù)據(jù)槽的節(jié)點(diǎn)和數(shù)據(jù)槽產(chǎn)生的方式:


1.5.3、執(zhí)行分配計(jì)劃:


1.5.4、數(shù)據(jù)槽分配成功:


2、動(dòng)態(tài)增加Slave從服務(wù)器節(jié)點(diǎn)

在增加主節(jié)點(diǎn)7006的時(shí)候,前面的3步是共有的,也就是從1.1-1.3,之后才是建立主節(jié)點(diǎn)的內(nèi)容,前面的3步驟針對(duì)從節(jié)點(diǎn)7007也是必須的,我只是把這些步驟寫到了創(chuàng)建主節(jié)點(diǎn)7006的步驟里,大家請(qǐng)知曉。

2.1、將7007節(jié)點(diǎn)增加到集群中

[root@linux redis]# pwd
[root@linux redis]# /root/application/program/redis/
[root@linux redis]# ruby redis-trib.rb add-node 192.168.127.130:7007 192.168.127.130:7000

效果如圖:


2.2、指定7007節(jié)點(diǎn)作為7006的從節(jié)點(diǎn),實(shí)現(xiàn)主從的配置。

[root@linux redis]# pwd
[root@linux redis]# /root/application/program/redis/
[root@linux redis]# redis-cli -c -h 192.168.127.130 -p 7007  //登陸7007
192.168.127.130::7007>cluster replicate 71ecd970838e9b400a2a6a15cd30a94ab96203bf(主節(jié)點(diǎn)的ID,這里是7006)
192.168.127.130::7007>OK

效果如圖:


三、Cluster集群刪除操作

由于我們?cè)谏厦娴牟襟E里面創(chuàng)建7006和7007兩個(gè)主從的節(jié)點(diǎn),下面接下來的操作,我就是從這個(gè)Cluster集群模式中動(dòng)態(tài)的刪除掉這兩個(gè)節(jié)點(diǎn)。刪除的順序是先刪除Slave從節(jié)點(diǎn),然后在刪除Master主節(jié)點(diǎn),最后還原到我們上一篇文章建立的Cluster集群模式,也就是3個(gè)主節(jié)點(diǎn)和3個(gè)從節(jié)點(diǎn)?,F(xiàn)在是4個(gè)主節(jié)點(diǎn)和4個(gè)從節(jié)點(diǎn)。效果如圖:


1、動(dòng)態(tài)刪除Slave從服務(wù)器節(jié)點(diǎn)

1.1、刪除7007從節(jié)點(diǎn),輸入del-node命令,指定刪除節(jié)點(diǎn)的IP地址和Port端口號(hào),同時(shí)還要提供該從節(jié)點(diǎn)ID名稱。

[root@linux redis]# pwd
[root@linux redis]# /root/application/program/redis/
[root@linux redis]# ruby redis-trib.rb del-node 192.168.127.130:7007 991ed242102aaa08873eb9404a18e0618a4e37bd

刪除成功如圖:        


刪除前如圖:          


刪除后如圖:


2、動(dòng)態(tài)刪除Master主服務(wù)器節(jié)點(diǎn)

要想刪除Master主節(jié)點(diǎn),可能要繁瑣一些。因?yàn)樵贛aster主節(jié)點(diǎn)上有數(shù)據(jù)槽(slots),為了保證數(shù)據(jù)的不丟失,必須把這些數(shù)據(jù)槽遷移到其他Master主節(jié)點(diǎn)上,然后在刪除主節(jié)點(diǎn)。

2.1、重新分片,把要?jiǎng)h除的Master主節(jié)點(diǎn)的數(shù)據(jù)槽移動(dòng)到其他Master主節(jié)點(diǎn)上,以免數(shù)據(jù)丟失。

[root@linux redis]# pwd
[root@linux redis]# /root/application/program/redis/
[root@linux redis]# ruby redis-trib.rb reshard 192.168.127.130:7006

2.1.1、移除多少槽如圖:創(chuàng)建輸入200,這里要輸入199,因?yàn)橛?jì)數(shù)是從0開始的,切記。


2.1.2、接受槽的Master主節(jié)點(diǎn)ID:這個(gè)節(jié)點(diǎn)可以是任意一個(gè)主節(jié)點(diǎn)都可以,我選擇7002,ID是:3b025b3ecfa65f462de639c7a412be443cf1dd1c


2.1.3、從哪個(gè)主節(jié)點(diǎn)移除,該主節(jié)點(diǎn)是7006,ID是:71ecd970838e9b400a2a6a15cd30a94ab96203bf


2.1.4、執(zhí)行分區(qū)計(jì)劃,選擇yes。分區(qū)完成,效果如圖:


2.1.5、當(dāng)前7006主節(jié)點(diǎn)已經(jīng)沒有數(shù)據(jù)槽了。


2.2、刪除7006主節(jié)點(diǎn),提供要?jiǎng)h除節(jié)點(diǎn)的IP地址和Port端口,當(dāng)然還有要?jiǎng)h除的節(jié)點(diǎn)的ID名稱。

[root@linux redis]# pwd
[root@linux redis]# /root/application/program/redis/
[root@linux redis]# ruby redis-trib.rb del-node 192.168.127.130:7006 71ecd970838e9b400a2a6a15cd30a94ab96203bf

2.2.1、刪除成功  


2.2.2、查看節(jié)點(diǎn)效果   


四、總結(jié)

今天就寫到這里了,做一個(gè)小小的總結(jié)。主從復(fù)制和哨兵模式這兩個(gè)集群模式由于不能動(dòng)態(tài)擴(kuò)容,而且主節(jié)點(diǎn)之間(有多個(gè)主節(jié)點(diǎn)的情況)數(shù)據(jù)完全一樣,導(dǎo)致了主節(jié)點(diǎn)的容量成了整個(gè)集群的瓶頸,如果想擴(kuò)展集群容量,必須擴(kuò)展主節(jié)點(diǎn)的容量。由于以上的問題,redis在3.0開始Cluster集群模式,這個(gè)模式在主節(jié)點(diǎn)之間數(shù)據(jù)是不一樣的,數(shù)據(jù)也可以根據(jù)需求自動(dòng)轉(zhuǎn)向其他節(jié)點(diǎn)。這樣就可以實(shí)現(xiàn)橫向動(dòng)態(tài)擴(kuò)容,新增加的主從節(jié)點(diǎn),用于存儲(chǔ)新的數(shù)據(jù)則可,對(duì)以前的節(jié)點(diǎn)的數(shù)據(jù)不會(huì)有任何影響。再者說,配置也很簡(jiǎn)單,這才是我們所需要的集群模式。

到此這篇關(guān)于Redis Cluster集群動(dòng)態(tài)擴(kuò)容的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Redis Cluster集群動(dòng)態(tài)擴(kuò)容 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • redis實(shí)現(xiàn)刪除list中特定索引的值

    redis實(shí)現(xiàn)刪除list中特定索引的值

    這篇文章主要介紹了redis實(shí)現(xiàn)刪除list中特定索引的值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Linux安裝單機(jī)版Redis的完整步驟

    Linux安裝單機(jī)版Redis的完整步驟

    這篇文章主要給大家介紹了關(guān)于Linux安裝單機(jī)版Redis的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • redis中List列表常見命令及使用場(chǎng)景

    redis中List列表常見命令及使用場(chǎng)景

    這篇文章主要給大家介紹了關(guān)于redis中List列表常見命令及使用場(chǎng)景的相關(guān)資料,Redis列表是簡(jiǎn)單的字符串列表,按照插入順序排序,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • redis 用scan指令 代替keys指令(詳解)

    redis 用scan指令 代替keys指令(詳解)

    下面小編就為大家分享一篇redis 用scan指令 代替keys指令詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Redis Cluster的圖文講解

    Redis Cluster的圖文講解

    今天小編就為大家分享一篇關(guān)于Redis Cluster的圖文講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 詳解如何使用Redis作為高效緩存

    詳解如何使用Redis作為高效緩存

    Redis是一個(gè)高性能的 內(nèi)存存儲(chǔ)系統(tǒng),通常被用作 緩存 來加速數(shù)據(jù)訪問,提高應(yīng)用的吞吐量和響應(yīng)速度,本文詳細(xì)講解如何使用 Redis 作為高效緩存,包括基本原理、常見模式、最佳實(shí)踐以及優(yōu)化技巧,需要的朋友可以參考下
    2025-01-01
  • Windows下redis下載、redis安裝及使用教程

    Windows下redis下載、redis安裝及使用教程

    redis 提供了多種數(shù)據(jù)類型來支持不同的業(yè)務(wù)場(chǎng)景,所以經(jīng)常使用在分布式鎖中,今天給大家講解redis安裝及使用教程,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • redis分布式鎖的go-redis實(shí)現(xiàn)方法詳解

    redis分布式鎖的go-redis實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了redis分布式鎖的go-redis實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì)對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • ?Redis?實(shí)現(xiàn)計(jì)數(shù)器和限速器的示例代碼

    ?Redis?實(shí)現(xiàn)計(jì)數(shù)器和限速器的示例代碼

    本文主要介紹了?Redis?實(shí)現(xiàn)計(jì)數(shù)器和限速器的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Redis全量同步和增量同步原理

    Redis全量同步和增量同步原理

    主從第一次同步是全量同步:也就是說,當(dāng)你主從節(jié)點(diǎn)連接建立后,需要執(zhí)行一次全量同步,但如果slave重啟后同步,此時(shí)slave重啟后,slave節(jié)點(diǎn)和master節(jié)點(diǎn)的數(shù)據(jù)之間有落后,因此需要進(jìn)行增量同步,感興趣的同學(xué)可以參考閱讀
    2023-04-04

最新評(píng)論

扬中市| 航空| 永济市| 林州市| 灌南县| 汉源县| 阿尔山市| 白城市| 五台县| 马龙县| 塘沽区| 吉隆县| 大余县| 彰化市| 内丘县| 新绛县| 屏山县| 金阳县| 钟山县| 肇源县| 镇远县| 青神县| 太仆寺旗| 师宗县| 建德市| 云梦县| 西安市| 会东县| 海兴县| 英吉沙县| 隆子县| 鸡泽县| 红河县| 沁源县| 武义县| 惠州市| 陈巴尔虎旗| 浦城县| 大石桥市| 佳木斯市| 花垣县|