redis集群配置_第1頁
redis集群配置_第2頁
redis集群配置_第3頁
redis集群配置_第4頁
redis集群配置_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 Redis 集群簡介1、 Redis集群簡介:Redis集群是一個可以在多個 Redis 節點之間進行數據共享的設施。Redis 集群通過分區來提供一定程度的可用性:即使集群中有一部分節點失效或者無法進行通訊, 集群也可以繼續處理命令請求。Redis 集群提供了以下兩個好處:(1、)將數據自動切分(split)到多個節點的能力。(2、)當集群中的一部分節點失效或者無法進行通訊時, 仍然可以繼續處理命令請求的能力。2、集群的數據分片功能:Redis 集群沒有使用一致性hash, 而是引入了哈希槽的概念。Redis 集群有16384個哈希槽,每個key通過CRC16校驗后對16384取模來決定放

2、置哪個槽.集群的每個節點負責一部分hash槽。這種結構很容易添加或者刪除節點,并且無論是添加刪除或者修改某一個節點,都不會造成集群不可用的狀態。3、Redis集群的主從架構:為了使在部分節點失敗或者大部分節點無法通信的情況下集群仍然可用,所以集群使用了主從復制模型,每個節點都會有N-1個復制品。eg:如有A,B,C三個節點的集群,在沒有復制模型的情況下,如果節點B失敗了,那么整個集群就會以為缺少B節點所承擔的哈希槽這個范圍的槽而不可用。然而如果在集群創建的時候(或者過一段時間)我們為每個節點添加一個從節點A1,B1,C1,那么整個集群便有三個master節點和三個slave節點組成,這樣在節點

3、B失敗后,集群便會選舉B1為新的主節點繼續服務,整個集群便不會因為槽找不到而不可用了。當然如果B和B1都down了,那集群還是不可用的。redis集群安裝與配置1、redis集群安裝1.1 redis安裝1.1. 搭建前的準備工作Ø Redis集群是Redis3.0新加入的功能,其在源碼的src目錄下有自帶的集群搭建工具-redis-trib;Ø 它是一個rb為后綴的文件,需要依賴ruby程序才能正常運行,在我們OWL的環境一般需要安裝rubygems,需要下載下來后執行ruby setup.rb即可安裝成功,再執行gem install redis后,即可正常使用redi

4、s-trib程序。Ø redis-trib程序可以完成創建新集群,檢查集群和對集群進行重新分片的功能。注:如安裝時提示no such file to load - rdoc/rdoc (LoadError),可打開 /.gemrc在最后加入 gem: -no-ri -no-rdoc.保存后再運行gem install ruby,ruby setup.rb和gem install redis即可。安裝依賴yum install  gcc  tclyum install -y ruby ruby-devel rubygems r

5、pm-build 下載安裝包wget http:/download.redis.io/releases/redis-3.0.5.tar.gz編譯安裝tar -zxvf redis-3.0.5.tar.gzcd redis-3.0.5make MALLOC=libcmake test -測試redis是否編譯正確make install -將src/文件夾下的執行文件copy到/usr/local/bin目錄集群依賴gem install  redis集群正常運作至少需要三個主節點,建議每個主節點至少有一個從節點,主從節點分開部署在不同機器上,每臺機器可啟動多個redis。

6、mkdir cluster-testcd cluster-testmkdir 7000 7001 修改配置文件redis.conf(redis-3.0.5目錄下有樣例)放到對應路徑下  port 7000 daemonize   yes logfile redis-server7000.logdbfilename 數據庫名稱dir     數據庫存放目錄appendonly   yes 啟動時優先加載日志記錄appendfilename "appendonly7000.aof"

7、;cluster-enabled   yes  cluster-config-file nodes7000.conf 同一臺機器上名稱不能相同cluster-node-timeout 5000 -配置daemonize yesport 7000bind 5loglevel noticelogfile /opt/cluster/logs/redis-server7000.logdbfilename dump7000.rdbdir /opt/cluster/db/appendonly yesappendfilena

8、me "appendonly7000.aof"cluster-enabled yescluster-config-file nodes7000.confcluster-node-timeout 5000-1.2 啟動和停止redisredis-server /path/redis.conf查看redis進程ps -ef|grep redis 1.3 redis集群1.3.1 集群創建./redis-trib.rb create -replicas 1(表示一個從節點) 5:7000 8:7000 192.168.12

9、.19:7000 0:7000 5:7001 8:7001 9:7001 0:7001 1.3.2檢查集群狀態./redis-trib.rb check 5:7000#查看集群節點的相關信息 redis-cli -p 7000 -h 19 cluster nodescluster info2、Redis集群相關測試2.1 添加節點添加主節點./redis-trib.rb add-node 01:7000

10、0:7000 指定主節點添加從節點./redis-trib.rb add-node slave -master-id 節點ID 01:7000 0:7000 【=集群擴容步驟=】1)./redis-trib.rb add-node 19:7002 01:70002)./redis-cli -p 7000 -h 01 cluster nodes =master-id獲取3)./redis-trib.rb add-node -slave -master-i

11、d 70173e348edec46ed4755d6a1d18238e091bc0ed 19:7003 01:70004)./redis-trib.rb reshard 01:7000 例子如下:上述圖的最后一步補充說明:./redis-trib.rb reshard 5:7000輸入要移動的數量輸入目標節點97a3a64667477371c4479320d683e4c8db5858b1.指定從哪寫節點來移動keys到目標節點,輸入的是all會從其他每個master上取一些哈希槽,也可以輸入從指定節點

12、槽遷移,輸入done結束回車2.2 節點刪除【=集群縮容步驟=】1) ./redis-trib.rb reshard 01:7000 2) ./redis-cli -p 7000 -h 01 cluster nodes3) Slave:./redis-trib.rb del-node 19:7003 9290002b631b7b4d363168fa3283d02e06423f514)master:./redis-trib.rb del-node 19:7002 70173e348edec46ed4755d6a1d18238e091bc0ed【添加節點異常處理方法】 【從節點停用】./redis-cli -h 02 -p 7001 shutdown 2.3 主從切換從節點切換成主節點redis-cli -c -h 01 -p 7000 cluster failover redis-cli -c -h 5 -p 7001 cluster failov

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論