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

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>
            欧美国产一区二区在线观看| 香蕉成人久久| 国产精品av一区二区| 亚洲一区在线免费观看| 久久高清福利视频| 亚洲精品一区在线观看香蕉| 国产精品v欧美精品v日韩| 欧美国产视频日韩| 欧美裸体一区二区三区| 久久精品国产久精国产一老狼 | 亚洲欧美日韩国产一区二区三区| 久久国产天堂福利天堂| 亚洲欧洲日韩女同| 国产精品嫩草99av在线| 欧美福利电影在线观看| 欧美国内亚洲| 欧美亚州一区二区三区| 国产偷国产偷精品高清尤物| 欧美国产日韩一二三区| 欧美日韩一区成人| 欧美激情一区二区三区高清视频| 亚洲欧美在线aaa| 久久精品久久综合| 性欧美精品高清| 美国成人直播| 久久久水蜜桃| 欧美一区二区三区四区高清| 99热在这里有精品免费| 亚洲国产高清在线观看视频| 欧美日韩喷水| 国产精品免费看久久久香蕉| 狠狠色丁香婷婷综合久久片| 国产精品揄拍500视频| 欧美xxx成人| 免费不卡亚洲欧美| 国产精品久久久久91| 亚洲欧美在线一区二区| 欧美女人交a| 国产日韩在线视频| 亚洲韩国一区二区三区| 尹人成人综合网| 一区二区视频欧美| 一区在线电影| 亚洲一区二区三区四区五区黄| 亚洲精品五月天| 亚洲乱码国产乱码精品精天堂 | 欧美chengren| 91久久久久| 日韩视频一区二区三区在线播放| 亚洲欧洲精品一区二区三区| 欧美亚洲一区二区在线观看| 欧美午夜不卡| 一本色道88久久加勒比精品| 9人人澡人人爽人人精品| 久热精品视频在线免费观看| 美日韩在线观看| 亚洲日本无吗高清不卡| 99国产精品私拍| 欧美+日本+国产+在线a∨观看| 欧美激情女人20p| 好看的亚洲午夜视频在线| 午夜久久tv| 亚洲视频精选| 久久久亚洲综合| 国内成+人亚洲| 一本久道久久久| 亚洲国产一区视频| 午夜久久久久久| 国产精品一区二区三区四区| 中文精品99久久国产香蕉| 久久久人成影片一区二区三区| 亚洲电影第1页| 久久综合综合久久综合| 欧美日韩国产在线| 国产欧美日韩一区| 99re66热这里只有精品4| 欧美一区二区免费观在线| 欧美高清你懂得| 亚洲性夜色噜噜噜7777| 久久综合九色99| 亚洲精品国产拍免费91在线| 亚洲精品123区| 欧美日韩日日夜夜| 午夜久久久久久| 久久国产综合精品| 亚洲国产精品999| 久久夜色精品国产欧美乱| 日韩视频免费在线观看| 欧美日韩在线一区二区三区| 在线视频成人| 国产视频精品va久久久久久| 欧美午夜精品久久久久久孕妇| 亚洲线精品一区二区三区八戒| 亚洲精品国偷自产在线99热| 欧美性一区二区| 欧美在线日韩在线| 美国三级日本三级久久99| 在线综合+亚洲+欧美中文字幕| 久久亚洲综合色一区二区三区| 久久久久久97三级| 日韩午夜av| 亚洲无线一线二线三线区别av| 国产区欧美区日韩区| 亚洲高清资源综合久久精品| 国产精品久久久久久影院8一贰佰 国产精品久久久久久影视 | 亚洲永久免费精品| 亚洲成人资源| 在线亚洲电影| 亚洲精品美女| 欧美在线免费观看| 欧美大秀在线观看| 欧美一区二区女人| 欧美激情偷拍| 久久久夜夜夜| 国产精品免费电影| 亚洲人成网站999久久久综合| 国产一区二区三区免费在线观看| 性欧美video另类hd性玩具| 中国亚洲黄色| 亚洲精品免费一区二区三区| 亚洲专区在线| 国模私拍视频一区| 在线视频精品一| 日韩小视频在线观看专区| 久久精品网址| 久久精品国产96久久久香蕉| 欧美性一区二区| 99热这里只有成人精品国产| 亚洲日韩中文字幕在线播放| 久久久精品一品道一区| 欧美一区二区三区在线免费观看| 欧美日韩情趣电影| 亚洲免费高清视频| 一本大道久久a久久综合婷婷| 久热爱精品视频线路一| 乱人伦精品视频在线观看| 国产亚洲毛片| 久久国产精品99久久久久久老狼 | 欧美日韩福利视频| 亚洲欧洲日韩在线| 日韩视频免费看| 欧美日韩亚洲精品内裤| 亚洲清纯自拍| 一区二区三区高清在线 | 欧美日韩亚洲国产精品| 亚洲精品九九| 亚洲视频一起| 尤物九九久久国产精品的分类| 亚洲精品免费在线| 日韩一区二区电影网| 欧美国产1区2区| 日韩亚洲欧美综合| 亚洲自拍偷拍麻豆| 老司机精品导航| 欧美成人激情在线| 亚洲精品久久久久中文字幕欢迎你| 乱中年女人伦av一区二区| 欧美激情亚洲精品| 国产一区二区三区的电影 | 亚洲欧洲午夜| 欧美日韩一区视频| 亚洲视频第一页| 久久综合狠狠综合久久综合88| 在线精品国产成人综合| 欧美bbbxxxxx| 亚洲靠逼com| 亚洲激情一区二区| 欧美日韩亚洲综合| 欧美一区二区三区在线观看视频| 久久九九精品99国产精品| 欧美美女视频| 亚洲制服欧美中文字幕中文字幕| 欧美在线免费观看视频| 亚洲大胆视频| 欧美视频在线视频| 久久久综合免费视频| 亚洲美女尤物影院| 久久久人人人| 亚洲性av在线| 韩国av一区二区三区四区| 欧美91福利在线观看| 亚洲一区视频在线观看视频| 免费美女久久99| 亚洲欧美激情视频| 欧美另类在线播放| 欧美在线短视频| 亚洲精品一线二线三线无人区| 久久精品国产v日韩v亚洲| 亚洲三级毛片| 激情综合色丁香一区二区| 欧美日韩视频在线| 久久噜噜亚洲综合| 欧美亚洲一区| 亚洲天堂网在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文 | 一本久久a久久精品亚洲| 国产午夜精品久久久久久免费视 | 久久偷窥视频| 欧美与黑人午夜性猛交久久久| 99精品国产99久久久久久福利|