青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Benjamin

靜以修身,儉以養德,非澹薄無以明志,非寧靜無以致遠。
隨筆 - 398, 文章 - 0, 評論 - 196, 引用 - 0
數據加載中……

Reids集群的Redis Cluster模式

Redis集群(Redis Cluster)是Redis提供的一種分布式解決方案,它允許Redis數據在多個Redis節點之間進行分片(sharding),從而可以水平擴展以支持更大的數據量、更高的并發查詢負載以及更高的可用性。
一、Redis Cluster特點:
1、哈希槽(Hash ):使用16384個哈希槽存儲數據;每個節點都負責一部分哈希槽;當客戶需要存儲或檢索數據時,使用CRC16算法對鍵進行哈希,根據結果確定使用哪個哈希槽。
2、數據分片:通過哈希槽分配給集群中的節點,每個節點只負責分配到哈希槽數據9、
3、高可用性和故障恢復:Redis集群主節點均有一個或多個備份節點;如主節點故障,集群自動將節點提升到主節點,以保證服務的連續性;集群會檢測和自動處理故障節點。
4、客戶端重定向:客戶端訪問不在其當前節點的哈希槽時,該節點會自動向客戶端發送重定向命令,告訴客戶端應連接哪個節點;客戶端根據這個命令重新連接到正確的節點,并執行相應的操作。
5、一致保證性:Redis集群在CAP(
Consistency, Availability, Partition tolerance)中傾向于AP(可用性和分區容忍性);某情況下,如網絡故障或節點故障,集群會暫時犧牲一致性。
6、使用場景:處理大量數據和高并發查詢;需要高可用性和故障恢復能力的場景。
7、配置和部署:需配置多個Redis節點;可使用reids-cli獲取其他集群管理工具
如(Redis Cluster Manager)來創建、配置和管理集群。
8、客戶端支持:大多數Reids客戶端支持并提供api與集群交互;客戶端通常會自動處理哈希槽的映射、重定向和故障恢復等底層細節,使得開發象使用單個redis示例一樣使用Reids集群。
9、其他:
不支持某些Redis命令(如跨多個鍵的操作)和配置(如持久化到磁盤的配置)
二、部署:
1、規模:
至少需要3個主節點來構成,因為集群使用了投票容錯機制,要求超過半數節點認為某個節點掛了,該節點才被視為不可用;每個主節點都應該有一個或多個從節點(即備份節點)。因此,一個基本的Redis集群至少需要6臺服務器(3主3從)。
2、
安裝redis節點
redis配置文件詳解
3、配置集群節點:修改Redis節點的配置文件,確保cluster-enabled yes:啟用Redis集群模式;
                      分配不同的端口號給每個節點,確保它們不沖突(例如,使用1001-9001);
                       根據需要配置其他相關參數,如密碼、內存限制等
4、啟動redis:使用redis-server命令
5、使用reids-cli命令行工具,
Redis Cluster 在5.0之后取消了ruby腳本 redis-trib.rb的支持。
redis-cli --cluster help
Cluster Manager Commands:
  create         host1:port1 ... hostN:portN   #創建集群
                 --cluster-replicas <arg>      #從節點個數
  check          host:port                     #檢查集群
                 --cluster-search-multiple-owners #檢查是否有槽同時被分配給了多個節點
  info           host:port                     #查看集群狀態
  fix            host:port                     #修復集群
                 --cluster-search-multiple-owners #修復槽的重復分配問題
  reshard        host:port                     #指定集群的任意一節點進行遷移slot,重新分slots
                 --cluster-from <arg>          #需要從哪些源節點上遷移slot,可從多個源節點完成遷移,以逗號隔開,傳遞的是節點的node id,還可以直接傳遞--from all,這樣源節點就是集群的所有節點,不傳遞該參數的話,則會在遷移過程中提示用戶輸入
                 --cluster-to <arg>            #slot需要遷移的目的節點的node id,目的節點只能填寫一個,不傳遞該參數的話,則會在遷移過程中提示用戶輸入
                 --cluster-slots <arg>         #需要遷移的slot數量,不傳遞該參數的話,則會在遷移過程中提示用戶輸入。
                 --cluster-yes                 #指定遷移時的確認輸入
                 --cluster-timeout <arg>       #設置migrate命令的超時時間
                 --cluster-pipeline <arg>      #定義cluster getkeysinslot命令一次取出的key數量,不傳的話使用默認值為10
                 --cluster-replace             #是否直接replace到目標節點
  rebalance      host:port                                      #指定集群的任意一節點進行平衡集群節點slot數量 
                 --cluster-weight <node1=w1...nodeN=wN>         #指定集群節點的權重
                 --cluster-use-empty-masters                    #設置可以讓沒有分配slot的主節點參與,默認不允許
                 --cluster-timeout <arg>                        #設置migrate命令的超時時間
                 --cluster-simulate                             #模擬rebalance操作,不會真正執行遷移操作
                 --cluster-pipeline <arg>                       #定義cluster getkeysinslot命令一次取出的key數量,默認值為10
                 --cluster-threshold <arg>                      #遷移的slot閾值超過threshold,執行rebalance操作
                 --cluster-replace                              #是否直接replace到目標節點
  add-node       new_host:new_port existing_host:existing_port  #添加節點,把新節點加入到指定的集群,默認添加主節點
                 --cluster-slave                                #新節點作為從節點,默認隨機一個主節點
                 --cluster-master-id <arg>                      #給新節點指定主節點
  del-node       host:port node_id                              #刪除給定的一個節點,成功后關閉該節點服務
  call           host:port command arg arg .. arg               #在集群的所有節點執行相關命令
  set-timeout    host:port milliseconds                         #設置cluster-node-timeout
  import         host:port                                      #將外部redis數據導入集群
                 --cluster-from <arg>                           #將指定實例的數據導入到集群
                 --cluster-copy                                 #migrate時指定copy
                 --cluster-replace                              #migrate時指定replace
① 創建集群主節點:
redis-cli --cluster create ip:port
② 創建集群主從節點:
redis-cli --cluster create ip:port ip1:port1 --cluster-replicas 1  --cluster-replicas 參數為數字,1表示每個主節點需要1個從節點。
③ 添加集群主節點:
redis-cli --cluster add-node ip:port
④ 添加集群從節點:把ip:port節點加入到ip_master:port_master,當做node_id為 117457eab5071954faab5e81c3170600d5192270 的從節點,如不指定 --cluster-master-id 會隨機分配到任意一個主節點。
redis-cli --cluster add-node ip:port ip_master:port_master --cluster-slave --cluster-master-id 117457eab5071954faab5e81c3170600d519227
⑤ 刪除節點:有slot分配的主節點不能直接刪除。
redis-cli --cluster del-node 
:port
f6a6957421b80409106cb36be3c7ba41f3b603ff

注意:當被刪除掉的節點重新起來之后不能自動加入集群,但其和主的復制還是正常的,也可以通過該節點看到集群信息(通過其他正常節點已經看不到該被del-node節點的信息)。

如果想要再次加入集群,則需要先在該節點執行cluster reset,再用add-node進行添加,進行增量同步復制。

⑥ 檢查集群:任意連接一個集群節點,進行集群狀態檢查
redis-cli --cluster check 192.168.198.102:6384 --cluster-search-multiple-owners
⑦ 集群信息查看:說明:檢查ke

redis-cli --cluster set-timeout 192.168.163.112:6382 10000

y、slots、從節點個數的分配情況

redis-cli --cluster info ip:port

⑧ 修復集群:修復集群和槽的重復分配問題

redis-cli --cluster fix ip:port --cluster-search-multiple-owners

⑨ 設置集群的超時時間 :連接到集群的任意一節點來設置集群的超時時間參數cluster-node-timeout

redis-cli --cluster set-timeout 192.168.163.132:6382 1000

⑩ 集群中執行相關命令:連接到集群的任意一節點來對整個集群的所有節點進行設置。

redis-cli --cluster call ip:6381 config set requirepass cc
redis-cli -a cc --cluster ip1:6381 config set masterauth cc
redis-cli -a cc --cluster call ip2:6381 config rewrite
 6、Redis 6.0 新增了幾個命令:fix 的子命令:--cluster-fix-with-unreachable-masters

                                                 call的子命令:--cluster-only-masters、--cluster-only-replicas

                                                 集群節點備份:backup
7、遷移

① 在線遷移slot :在線把集群的一些slot從集群原來slot節點遷移到新的節點,即可以完成集群的在線橫向擴容和縮容。有2種方式進行遷移

1)直接連接到集群的任意一節點:
   redis-cli -a cc --cluster reshard ip:port
2)連接到集群的任意一節點來對指定節點指定數量的slot進行遷移到指定的節點:

redis-cli -a cc --cluster reshard 192.168.165.132:6379 --cluster-from 117457eab5071954faab5e81c3170600d5192270 --cluster-to 815da8448f5d5a304df0353ca10d8f9b77016b28 --cluster-slots 10 --cluster-yes --cluster-timeout 5000 --cluster-pipeline 10 --cluster-replace

② 平衡(rebalance)slot 

1)平衡集群中各個節點的slot數量
redis-cli -a cc --cluster rebalance 192.168.163.132:6379
2)根據集群中各個節點設置的權重等平衡slot數量(不執行,只模擬)
redis-cli -a cc --cluster rebalance --cluster-weight 117457eab5071954faab5e81c3170600d5192270=5 815da8448f5d5a304df0353ca10d8f9b77016b28=4 56005b9413cbf225783906307a2631109e753f8f=3 --cluster-simulate 192.168.163.132:6379
③ 導入集群:外部Redis實例(9021)導入到集群中的任意一節點。
redis-cli --cluster import 192.168.165.132:6379 --cluster-from 192.168.165.132:9021 --cluster-replace
注意:測試下來發現參數--cluster-replace沒有用,如果集群中已經包含了某個key,在導入的時候會失敗,不會覆蓋,只有清空集群key才能導入。
如果集群設置了密碼,也會導入失敗,需要設置集群密碼為空才能進行導入(call)。通過monitor(9021)的時候發現,在migrate的時候需要密碼進行auth認證。



 






posted on 2024-07-12 20:52 Benjamin 閱讀(64) 評論(0)  編輯 收藏 引用 所屬分類: 數據庫

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品女人网站| 国产精品乱码妇女bbbb| 亚洲风情亚aⅴ在线发布| 久久久久国产精品厨房| 欧美一二三区精品| 雨宫琴音一区二区在线| 欧美激情亚洲另类| 欧美精品一区二区高清在线观看| 亚洲美女免费精品视频在线观看| 亚洲国产婷婷| 欧美日韩另类一区| 欧美伊人久久久久久久久影院| 欧美一区二区免费观在线| 亚洲国产三级网| 一区二区免费在线播放| 国内精品国产成人| 亚洲黄色影院| 国产精品专区一| 欧美成人精品在线播放| 国产精品扒开腿做爽爽爽软件| 欧美一区二区三区精品| 免播放器亚洲一区| 午夜精品久久久久久久99水蜜桃 | 欧美日韩中国免费专区在线看| 亚洲一区二区四区| 久久国产视频网站| 日韩午夜剧场| 久久精品官网| 亚洲尤物在线视频观看| 久久综合久久综合久久| 性欧美超级视频| 欧美剧在线观看| 美女免费视频一区| 国产精品麻豆va在线播放| 欧美激情国产精品| 国产性猛交xxxx免费看久久| 日韩网站在线看片你懂的| 精品成人在线| 亚洲综合国产| 亚洲午夜激情网页| 欧美国产1区2区| 久久综合五月天婷婷伊人| 国产精品羞羞答答| 亚洲国产精品成人综合色在线婷婷 | 亚洲黄色免费电影| 欧美亚洲一区三区| 午夜精品国产| 欧美视频福利| 一本久久综合| 99亚洲一区二区| 欧美精品免费看| 亚洲国产日韩欧美综合久久| 亚洲第一天堂无码专区| 欧美在线影院| 久久久久久午夜| 国产一区二区精品久久99| 午夜久久美女| 午夜精品理论片| 国产精品免费一区二区三区观看| 91久久精品久久国产性色也91| 亚洲国产精品电影在线观看| 久久久久久69| 欧美激情成人在线视频| 亚洲国产欧美日韩另类综合| 久久久蜜桃精品| 亚洲第一搞黄网站| 亚洲精品中文字幕有码专区| 免费在线欧美黄色| 亚洲黄色免费网站| 国产精品99久久久久久久vr | 亚洲一区日韩在线| 久久er精品视频| 国内成人精品一区| 两个人的视频www国产精品| 欧美激情影院| 亚洲深爱激情| 国产日韩欧美在线播放不卡| 久久www成人_看片免费不卡| 免费黄网站欧美| 亚洲精选在线| 国产精品久久久久永久免费观看| 亚洲午夜在线| 久久综合狠狠综合久久综青草| 黄色成人在线网址| 欧美精品一区二区三区在线看午夜| 亚洲精品久久在线| 欧美一区二区三区的| 1204国产成人精品视频| 欧美精品日日鲁夜夜添| 亚洲欧美日韩一区在线| 免费高清在线视频一区·| 99re热这里只有精品免费视频| 国产精品国产a级| 久久久久网站| 夜夜嗨av色一区二区不卡| 久久精品一区二区三区不卡牛牛| 亚洲黄色免费电影| 国产精品日韩欧美一区二区| 久久夜色精品| 亚洲视频免费观看| 欧美不卡在线视频| 香蕉免费一区二区三区在线观看| 亚洲国产cao| 国产精品腿扒开做爽爽爽挤奶网站| 久久久久综合一区二区三区| 亚洲视频大全| 亚洲成在人线av| 欧美在线三区| 一区二区三区色| 亚洲国产高清视频| 国产乱肥老妇国产一区二| 欧美多人爱爱视频网站| 欧美插天视频在线播放| 久久成人一区| 亚洲一级二级| 亚洲看片免费| 在线播放日韩欧美| 国产亚洲欧洲997久久综合| 欧美日本韩国| 欧美成人精品福利| 久久久av网站| 性亚洲最疯狂xxxx高清| 一区二区三区精品久久久| 亚洲激情欧美| 亚洲成人在线视频播放| 欧美a级片网站| 久久视频在线看| 欧美综合二区| 欧美在线观看网站| 亚洲欧美色婷婷| 亚洲午夜国产一区99re久久| 99热这里只有成人精品国产| 亚洲区第一页| 亚洲区中文字幕| 亚洲日本国产| 99热在线精品观看| 99综合视频| 99国产精品99久久久久久| 最新成人av网站| 亚洲精品在线观看免费| 亚洲精品免费观看| 亚洲伦伦在线| 夜夜狂射影院欧美极品| 一本色道久久综合亚洲精品小说| 亚洲日本成人网| 99视频一区| 亚洲欧美日韩综合| 欧美在线一区二区| 久久久夜色精品亚洲| 免费看精品久久片| 亚洲大胆美女视频| 亚洲精品乱码久久久久久久久| 欧美成人精品| 亚洲三级毛片| 亚洲少妇中出一区| 久久成人亚洲| 蜜桃av噜噜一区二区三区| 欧美区日韩区| 国产精品尤物福利片在线观看| 国产嫩草一区二区三区在线观看| 国产日韩一区二区三区| 亚洲电影第1页| 一区二区欧美在线观看| 午夜一区二区三区在线观看| 久久麻豆一区二区| 91久久久一线二线三线品牌| 一区二区欧美日韩| 欧美中文字幕久久| 欧美精品亚洲精品| 国产啪精品视频| 最近中文字幕日韩精品| 午夜免费久久久久| 欧美国产精品日韩| 亚洲视频在线观看免费| 欧美一区午夜精品| 欧美日韩123| 国内揄拍国内精品久久| 夜夜嗨av一区二区三区| 欧美一区二区三区久久精品| 女人天堂亚洲aⅴ在线观看| 日韩视频在线你懂得| 久久9热精品视频| 欧美日韩在线播放三区| 伊人久久综合97精品| 亚洲一区二区三区四区五区黄| 久久久久国产精品麻豆ai换脸| 亚洲国产三级在线| 久久国产精品久久w女人spa| 欧美调教视频| 亚洲欧洲一二三| 久久九九电影| 亚洲香蕉网站| 欧美精品97| 亚洲国产99精品国自产| 久久都是精品| 亚洲午夜免费福利视频| 欧美激情一区二区三区| 亚洲第一区在线观看| 伊伊综合在线| 久久久久亚洲综合|