站長資訊網
        最全最豐富的資訊網站

        Redis集群操作實例詳解

        本篇文章給大家帶來了關于Redis的相關知識,其中主要整理了集群操作的相關問題,包括了增加redis實例、配置8007為主節點、配置8008為8007的從節點等等內容,下面一起來看一下,希望對大家有幫助。

        Redis集群操作實例詳解

        推薦學習:Redis視頻教程

        基于已有一定基礎,這里搭建一個基礎版本三主三從,架構如下

        Redis集群操作實例詳解

        1、啟動集群

        /usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8001/redis.conf  /usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8002/redis.conf  /usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8003/redis.conf  /usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8004/redis.conf  /usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8005/redis.conf  /usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8006/redis.conf

        查看集群狀態:cluster nodes

        Redis集群操作實例詳解從上圖可以看出,整個集群運行正常,三個master節點和三個slave節點,

        • 8001端口的實例節點存儲0-5460這些hash槽,
        • 8002端口的實例節點存儲5461-10922這些hash槽,
        • 8003端口的實例節點存儲10923-16383這些hash槽,

        這三個master節點存儲的所有hash槽組成 redis集群的存儲槽位,slave點是每個主節點的備份從節點,不顯示存儲槽位。

        2、集群操作

        我們在原始集群基礎上再增加一主(8007)一從(8008),增加節點后的集群參見下圖,新增節點用虛線框表示

        Redis集群操作實例詳解

        2.1、增加redis實例

        在/usr/local/redis-cluster下創建8007和8008文件夾,并拷貝8001文件夾下的redis.conf文件到8007和8008這兩個文件夾下

        mkdir 8007 8008  cd 8001 cp redis.conf /usr/local/redis‐cluster/8007/  cp redis.conf /usr/local/redis‐cluster/8008/   # 修改8007文件夾下的redis.conf配置文件 vim /usr/local/redis‐cluster/8007/redis.conf  # 修改如下內容: port:8007  dir /usr/local/redis‐cluster/8007/ cluster‐config‐file nodes‐8007.conf   # 修改8008文件夾下的redis.conf配置文件 vim /usr/local/redis‐cluster/8008/redis.conf # 修改內容如下: port:8008 dir /usr/local/redis‐cluster/8008/ cluster‐config‐file nodes‐8008.conf  # 啟動8007和8008倆個服務并查看服務狀態 /usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8007/redis.conf /usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8008/redis.conf  ps ‐el | grep redis

        2.2、配置8007為主節點

        用add-node命令新增一個主節點8007(master),前面的ip:port為新增節點,后面的ip:port為已知存在節點,看到日志最后有"[OK] New node added correctly"提示代表新節點加入成功

        /usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster add‐node 192.168.0.61:8007 192.168.0.61:8001

        查看集群狀態

        /usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐c ‐h 192.168.0.61 ‐p 8001  192.168.0.61:8001> cluster nodes

        如下所示:

        Redis集群操作實例詳解

        注意:當添加節點成功以后,新增的節點不會有任何數據,因為它還沒有分配任何的slot(hash槽),我們需要為新節點手工分配hash槽

        使用redis-cli命令為8007分配hash槽,找到集群中的任意一個主節點,對其進行重新分片工作

        /usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster reshard 192.168.0.61:8001

        2.3、配置8008為8007的從節點

        添加從節點8008到集群中去并查看集群狀態

        /usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster add‐node 192.168.0.61:8008 192.168.0.61:8001

        如下:

        Redis集群操作實例詳解

        如圖所示,還是一個master節點,沒有被分配任何的hash槽。

        原因:我們需要執行replicate命令來指定當前節點(從節點)的主節點id為哪個,首先需要連接新加的8008節點的客戶端,然后使用集群命令進行操作,把當前的8008(slave)節點指定到一個主節點下(這里使用之前創建的8007主節點)

        執行指令

        /usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐c ‐h 192.168.0.61 ‐p 8008   192.168.0.61:8008> cluster replicate 2728a594a0498e98e4b83a537e19f9a0a3790f38 #后面這串id為8007的節點id

        查看集群狀態,8008節點已成功添加為8007節點的從節點

        Redis集群操作實例詳解

        2.4、刪除8080從節點[不刪除四主四從]

        用del-node刪除從節點8008,指定刪除節點ip和端口,以及節點id(紅色為8008節點id)

        /usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster del‐node 192.168.0.61:8008 a1cfe35722d151cf70585cee212755653 93c0956

        再次查看集群狀態,如下圖所示,8008這個slave節點已經移除,并且該節點的redis服務也已被停止

        Redis集群操作實例詳解

        2.5、刪除8007主節點[不刪除四主四從]

        因為主節點的里面是有分配了hash槽的,所以我們這里必須先把8007里的hash槽放入到其他的可用主節點中去,然后再進行移除節點操作,不然會出現數據丟失問題(目前只能把master的數據遷移到一個節點上,暫時做不了平均分配功能),執行命令如下:

        /usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster reshard 192.168.0.61:8007

        遷移驗證:會發現8007下面已經沒有任何hash槽了,證明遷移成功!

        Redis集群操作實例詳解

        用del-node命令刪除8007主節點即可

        /usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster del‐node 192.168.0.61:8007 2728a594a0498e98e4b83a537e19f9a0a 3790f38

        查看最終集群狀態,發現一切恢復如初,至此水平擴展結束

        Redis集群操作實例詳解

        推薦學習:Redis視頻教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品久久久久久久久鸭| 国产精品福利片免费看| 99在线精品视频| 无码精品人妻一区二区三区免费| 99免费精品视频| 日韩精品乱码AV一区二区| 久久亚洲国产成人精品无码区| 亚洲精品一二区| 99久久er这里只有精品18| 四虎国产精品永久在线观看| 青草国产精品视频。| 精品露脸国产偷人在视频| 99久久精品免费国产大片| 久久99精品国产| 97国产精品视频| 国产乱人伦偷精品视频免下载| 99久久精品免费观看国产| aaa级精品久久久国产片| 久久亚洲美女精品国产精品| 亚洲午夜精品一级在线播放放| 欧美日韩精品一区二区三区不卡 | 奇米精品视频一区二区三区| 日本欧美国产精品第一页久久| 久久国产香蕉一区精品| 精品视频一区二区三区四区五区| 国产成人久久久精品二区三区| 99久久国产热无码精品免费久久久久| 精品一区二区在线观看| 久久精品国产69国产精品亚洲| 国产精品免费网站| 高清在线亚洲精品国产二区| 2021国产成人精品国产| 成人久久精品一区二区三区| 国产精品国产三级国产专播| 国产精品免费观看| 亚洲嫩草影院久久精品| 中文字幕成人精品久久不卡| 刺激无码在线观看精品视频| 国产午夜福利精品久久| 四虎国产精品永久在线看| 亚洲国产精品国自产拍AV|