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

Redis集群中節(jié)點(diǎn)更換IP后實(shí)現(xiàn)恢復(fù)集群且保留數(shù)據(jù)

 更新時(shí)間:2026年03月03日 09:00:59   作者:灑滿陽光的午后  
本文介紹了如何在Redis集群中更改節(jié)點(diǎn)IP地址,并通過修改cluster-config-file文件中的IP地址并重啟所有節(jié)點(diǎn),成功恢復(fù)集群

前段時(shí)間在生產(chǎn)中遇到一個(gè)問題,即系統(tǒng)需要從一個(gè)網(wǎng)段遷移到另一個(gè)網(wǎng)段。我們知道redis集群在創(chuàng)建時(shí)是指定了節(jié)點(diǎn)的ip:port,因此在節(jié)點(diǎn)IP變更后,集群自然就失效了。如果需要恢復(fù)集群怎么辦?

當(dāng)然在大部分情況下,我們可以選擇刪除所有節(jié)點(diǎn)的數(shù)據(jù)文件dbfilename、持久化文件appendfilename、集群配置文件cluster-config-file,然后重建集群。但是如果需要保留數(shù)據(jù),又該怎么操作呢?

以一個(gè)三主三從的單副本集群來演示恢復(fù)過程

[root@test1 bin]# ./redis-cli -a password --cluster check 192.168.66.101:7000
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.66.101:7000 (d1ddeaa7...) -> 334 keys | 5461 slots | 1 slaves.
192.168.66.102:7003 (d21ce248...) -> 341 keys | 5462 slots | 1 slaves.
192.168.66.101:7001 (bb5c5e76...) -> 325 keys | 5461 slots | 1 slaves.
[OK] 1000 keys in 3 masters.
0.06 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.66.101:7000)
M: d1ddeaa7c77e35b3df50953fc09834b662cbac8b 192.168.66.101:7000
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
M: d21ce2482179af3b76a9f29d870848bae18a3214 192.168.66.102:7003
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: 089b2e16dff1f68c399a1efc73580e7cbbbfa71b 192.168.66.101:7002
   slots: (0 slots) slave
   replicates d21ce2482179af3b76a9f29d870848bae18a3214
S: 92d8208b582c6111bd383b6fdfc2d80a86f47350 192.168.66.102:7005
   slots: (0 slots) slave
   replicates d1ddeaa7c77e35b3df50953fc09834b662cbac8b
S: ea68bec54e3deb0bd209f151151098ae6d8cf0b4 192.168.66.102:7004
   slots: (0 slots) slave
   replicates bb5c5e768ab4aff9c92d7fd3f2d55007e2736c65
M: bb5c5e768ab4aff9c92d7fd3f2d55007e2736c65 192.168.66.101:7001
   slots:[10923-16383] (5461 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.

將集群中所有節(jié)點(diǎn)的IP由192.168.66.*更換為192.168.77.*,此時(shí)如果嘗試檢查集群狀態(tài),可以看到集群仍然嘗試連接192.168.66.*網(wǎng)段的節(jié)點(diǎn):

[root@test1 bin]# ./redis-cli -a password --cluster check 192.168.77.101:7000
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
Could not connect to Redis at 192.168.66.102:7003: Connection timed out
......

shutdown所有節(jié)點(diǎn)。

找到節(jié)點(diǎn)配置文件中cluster-config-file,此字段配置集群配置文件的保存位置(本示例中為/data/redis/cluster/7000/nodes_7000.conf),查看該文件內(nèi)容:

[root@test1 ~] cat /data/redis/cluster/7000/nodes_7000.conf
d1ddeaa7c77e35b3df50953fc09834b662cbac8b 192.168.66.101:7000@17000 myself,master - 0 1626244031000 1 connected 0-5460
ea68bec54e3deb0bd209f151151098ae6d8cf0b4 192.168.66.102:7004@17004 slave bb5c5e768ab4aff9c92d7fd3f2d55007e2736c65 0 1626
244034813 5 connected
d21ce2482179af3b76a9f29d870848bae18a3214 192.168.66.102:7003@17003 master - 0 1626244033803 4 connected 5461-10922
089b2e16dff1f68c399a1efc73580e7cbbbfa71b 192.168.66.101:7002@17002 slave d21ce2482179af3b76a9f29d870848bae18a3214 0 1626
244032793 4 connected
bb5c5e768ab4aff9c92d7fd3f2d55007e2736c65 192.168.66.101:7001@17001 master - 0 1626244030770 2 connected 10923-16383
92d8208b582c6111bd383b6fdfc2d80a86f47350 192.168.66.102:7005@17005 slave d1ddeaa7c77e35b3df50953fc09834b662cbac8b 0 1626
244031782 6 connected
vars currentEpoch 6 lastVoteEpoch 0

將所有節(jié)點(diǎn)的cluster-config-file文件中的IP地址均由192.168.66.*改為192.168.77.*:

# 192.168.66.101 執(zhí)行
sed -i 's/192.168.66/192.168.77/g' /data/redis/cluster/7000/nodes_7000.conf /data/redis/cluster/7001/nodes_7001.conf /data/redis/cluster/7002/nodes_7002.conf

# 192.168.66.102 執(zhí)行
sed -i 's/192.168.66/192.168.77/g' /data/redis/cluster/7003/nodes_7003.conf /data/redis/cluster/7004/nodes_7004.conf /data/redis/cluster/7005/nodes_7005.conf

啟動所有節(jié)點(diǎn)。

再次檢查集群狀態(tài)

[root@test1 bin]# ./redis-cli -a password --cluster check 192.168.77.101:7000
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.77.101:7000 (d1ddeaa7...) -> 334 keys | 5461 slots | 1 slaves.
192.168.77.102:7003 (d21ce248...) -> 341 keys | 5462 slots | 1 slaves.
192.168.77.101:7001 (bb5c5e76...) -> 325 keys | 5461 slots | 1 slaves.
[OK] 1000 keys in 3 masters.
0.06 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.77.101:7000)
M: d1ddeaa7c77e35b3df50953fc09834b662cbac8b 192.168.77.101:7000
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: 92d8208b582c6111bd383b6fdfc2d80a86f47350 192.168.77.102:7005
   slots: (0 slots) slave
   replicates d1ddeaa7c77e35b3df50953fc09834b662cbac8b
M: d21ce2482179af3b76a9f29d870848bae18a3214 192.168.77.102:7003
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
M: bb5c5e768ab4aff9c92d7fd3f2d55007e2736c65 192.168.77.101:7001
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: 089b2e16dff1f68c399a1efc73580e7cbbbfa71b 192.168.77.101:7002
   slots: (0 slots) slave
   replicates d21ce2482179af3b76a9f29d870848bae18a3214
S: ea68bec54e3deb0bd209f151151098ae6d8cf0b4 192.168.77.102:7004
   slots: (0 slots) slave
   replicates bb5c5e768ab4aff9c92d7fd3f2d55007e2736c65
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

[root@test1 bin]# ./redis-cli -a password --cluster info 192.168.77.101:7000 
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.77.101:7000 (d1ddeaa7...) -> 334 keys | 5461 slots | 1 slaves.
192.168.77.102:7003 (d21ce248...) -> 341 keys | 5462 slots | 1 slaves.
192.168.77.101:7001 (bb5c5e76...) -> 325 keys | 5461 slots | 1 slaves.
[OK] 1000 keys in 3 masters.
0.06 keys per slot on average.

可以看到集群狀態(tài)已經(jīng)恢復(fù),key數(shù)量與IP變更前一致。

測試一下集群的數(shù)據(jù)寫入和讀取

[root@test1 bin]# ./redis-cli -a password -c -h 192.168.77.101 -p 7000       
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.77.101:7000> keys *
  1) "name725"
  2) "name359"

......
192.168.77.101:7000> get name7
"hello\n"
192.168.77.101:7000> get name400
-> Redirected to slot [11448] located at 192.168.77.101:7001
"hello\n"
192.168.77.101:7001> set testkey 'testvalue'
-> Redirected to slot [4757] located at 192.168.77.101:7000
OK
192.168.77.101:7000> get testkey
"testvalue"

原有數(shù)據(jù)讀取正常,新數(shù)據(jù)寫入讀取正常,集群恢復(fù)。

總結(jié)

redis集群節(jié)點(diǎn)更換IP后,只需要修改所有節(jié)點(diǎn) cluster-config-file 中的IP地址為新地址,并重啟所有節(jié)點(diǎn),集群即可自動恢復(fù)。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • redis實(shí)現(xiàn)共同好友的思路詳解

    redis實(shí)現(xiàn)共同好友的思路詳解

    微信朋友圈大家都玩過吧,那么朋友圈的點(diǎn)贊、評論只能看到自己好友的信息是怎么操作的呢?下面通過本文給大家分享下此功能的實(shí)現(xiàn)流程,對redis實(shí)現(xiàn)共同好友的方法感興趣的朋友一起看看吧
    2021-05-05
  • redis實(shí)現(xiàn)主從模式(1主2從)

    redis實(shí)現(xiàn)主從模式(1主2從)

    本文主要介紹了在Windows環(huán)境下搭建和測試Redis的主從復(fù)制模式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Redis Cluster原理及配置詳解

    Redis Cluster原理及配置詳解

    這篇文章主要為大家介紹了Redis Cluster原理及配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 基于redis實(shí)現(xiàn)token驗(yàn)證用戶是否登陸

    基于redis實(shí)現(xiàn)token驗(yàn)證用戶是否登陸

    這篇文章主要為大家詳細(xì)介紹了基于redis實(shí)現(xiàn)token驗(yàn)證用戶是否登陸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • redis中熱key問題該如何解決

    redis中熱key問題該如何解決

    這篇文章主要給大家介紹了關(guān)于redis中熱key問題該如何解決的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用redis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • redis遠(yuǎn)程連接不上的解決辦法

    redis遠(yuǎn)程連接不上的解決辦法

    本文主要介紹了redis遠(yuǎn)程連接不上的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Redis設(shè)置key的過期時(shí)間

    Redis設(shè)置key的過期時(shí)間

    本文主要介紹了Redis設(shè)置key的過期時(shí)間,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Redis集群方案

    Redis集群方案

    前段時(shí)間搞了搞Redis集群,想用做推薦系統(tǒng)的線上存儲,說來挺有趣,這邊基礎(chǔ)架構(gòu)不太完善,因此需要我們做推薦系統(tǒng)的自己來搭這個(gè)存儲環(huán)境,就自己折騰了折騰
    2020-07-07
  • 深入了解Redis的看門狗機(jī)制

    深入了解Redis的看門狗機(jī)制

    Redis鎖的延期機(jī)制,通常被稱為看門狗機(jī)制,本文就拉介紹一下Redis的看門狗機(jī)制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Redis實(shí)現(xiàn)短信登錄的示例代碼

    Redis實(shí)現(xiàn)短信登錄的示例代碼

    本文主要介紹了Redis實(shí)現(xiàn)短信登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評論

无为县| 沁水县| 德化县| 龙山县| 广平县| 桦南县| 隆子县| 延安市| 榆林市| 土默特右旗| 蓝田县| 始兴县| 洪泽县| 长垣县| 开远市| 龙门县| 明溪县| 天门市| 蒙城县| 屯门区| 乐山市| 湄潭县| 城口县| 江阴市| 石屏县| 怀宁县| 九龙县| 子长县| 林甸县| 海阳市| 武清区| 沿河| 永春县| 如东县| 沁阳市| 汨罗市| 瑞丽市| 汝城县| 云安县| 阳朔县| 塔河县|