天天看點

Windows下搭建Redis叢集 Redis叢集:

原文: Windows下搭建Redis叢集

Redis叢集

 如果部署到多台電腦,就跟普通的叢集一樣;因為Redis是單線程處理的,多核CPU也隻能使用一個核,

是以部署在同一台電腦上,通過運作多個Redis執行個體組成叢集,然後能提高CPU的使用率。

在Windows系統下搭建Redis叢集:

    需要4個部件:

    Redis、Ruby語言運作環境、Redis的Ruby驅動redis-xxxx.gem、建立Redis叢集的工具redis-trib.rb

     安裝Redis,并運作3個執行個體(Redis叢集需要至少3個以上節點,低于3個無法建立);

     使用redis-trib.rb工具來建立Redis叢集,由于該檔案是用ruby語言寫的,是以需要安裝Ruby開發環境,以及驅動redis-xxxx.gem

1.下載下傳并安裝Redis

     其GitHub路徑如下:

https://github.com/MSOpenTech/redis/releases/

     Redis提供msi和zip格式的下載下傳檔案,這裡下載下傳zip格式 3.0.504版本

      将下載下傳到的Redis-x64-3.0.504.zip解壓即可,為了友善使用,建議放在盤符根目錄下,并修改目錄名為Redis,如:C:\Redis 或者D:\Redis

        通過配置檔案來啟動3個不同的Redis執行個體,由于Redis預設端口為6379,是以這裡使用了6380、6381、6382來運作3個Redis執行個體。

      注意:為了避免不必要的錯誤,配置檔案盡量儲存為utf8格式,并且不要包含注釋;

              配置檔案中以下兩種儲存日志的方式(儲存在檔案中、儲存到System Log中)請根據需求選擇其中一種即可:

  loglevel notice                       #日志的記錄級别,notice是适合生産環境的
  logfile "D:/Redis/Logs/redis6380_log.txt"      #指定log的保持路徑,預設是建立在Redis安裝目錄下,如果有子目錄需要手動建立,如此處的Logs目錄      
  syslog-enabled yes       #是否使用系統日志   
  syslog-ident redis6380   #在系統日志的辨別名

這裡使用了儲存在檔案中的方式,是以先在Redis目錄D:/Redis下建立Logs檔案夾      

       redis.6380.conf 内容如下:

port 6380      
loglevel notice    
logfile "D:/Redis/Logs/redis6380_log.txt"       
appendonly yes
appendfilename "appendonly.6380.aof"   
cluster-enabled yes                                    
cluster-config-file nodes.6380.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes      

      redis.6381.conf 内容如下:

port 6381       
loglevel notice   
logfile "D:/Redis/Logs/redis6381_log.txt"       
appendonly yes
appendfilename "appendonly.6381.aof"    
cluster-enabled yes                                    
cluster-config-file nodes.6381.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes      

     redis.6382.conf 内容如下:

port 6382       
loglevel notice    
logfile "D:/Redis/Logs/redis6382_log.txt"         
appendonly yes
appendfilename "appendonly.6382.aof"    
cluster-enabled yes                                    
cluster-config-file nodes.6382.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes      

       配置内容的解釋如下:

Windows下搭建Redis叢集 Redis叢集:
Windows下搭建Redis叢集 Redis叢集:
1 port 6380       #端口号
 2 loglevel notice    #日志的記錄級别,notice是适合生産環境的
 3 logfile "Logs/redis6380_log.txt"      #指定log的保持路徑,預設是建立在Redis安裝目錄下,如果有子目錄需要手動建立,如此處的Logs目錄
 4 syslog-enabled yes                         #是否使用系統日志
 5 syslog-ident redis6380                   #在系統日志的辨別名
 6 appendonly yes                              #資料的儲存為aof格式
 7 appendfilename "appendonly.6380.aof"    #資料儲存檔案
 8 cluster-enabled yes                                    #是否開啟叢集
 9 cluster-config-file nodes.6380.conf
10 cluster-node-timeout 15000
11 cluster-slave-validity-factor 10
12 cluster-migration-barrier 1
13 cluster-require-full-coverage yes      

View Code

  将上述配置檔案儲存到Redis目錄下,并使用這些配置檔案安裝3個redis服務,指令如下:

     注意:redis.6380.conf等配置檔案最好使用完整路徑,避免重新開機Redis叢集出現問題,部落客的安裝目錄為D:/Redis

D:/Redis/redis-server.exe --service-install D:/Redis/redis.6380.conf --service-name redis6380
D:/Redis/redis-server.exe --service-install D:/Redis/redis.6381.conf --service-name redis6381
D:/Redis/redis-server.exe --service-install D:/Redis/redis.6382.conf --service-name redis6382      

  啟動這3個服務,指令如下:

D:/Redis/redis-server.exe --service-start --service-name Redis6380
D:/Redis/redis-server.exe --service-start --service-name Redis6381
D:/Redis/redis-server.exe --service-start --service-name Redis6382      

     執行結果:

Windows下搭建Redis叢集 Redis叢集:

2.下載下傳并安裝ruby

  2.1. 下載下傳路徑如下:

  

http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.4-x64.exe

      下載下傳後,輕按兩下安裝即可,同樣,為了操作友善,也是建議安裝在盤符根目錄下,如: C:\Ruby22-x64 ,安裝時這裡選中後兩個選項,

  意思是将ruby添加到系統的環境變量中,在cmd指令中能直接使用ruby的指令

Windows下搭建Redis叢集 Redis叢集:

   2.2.下載下傳ruby環境下Redis的驅動,考慮到相容性,這裡下載下傳的是3.2.2版本

https://rubygems.org/gems/redis/versions/3.2.2

      注意:下載下傳在頁面右下角相關連接配接一項中

Windows下搭建Redis叢集 Redis叢集:

      安裝該驅動,指令如下:

gem install --local path_to_gem/filename.gem        

       實際操作如下:

Windows下搭建Redis叢集 Redis叢集:

      2.3.下載下傳Redis官方提供的建立Redis叢集的ruby腳本檔案redis-trib.rb,路徑如下:

    

https://raw.githubusercontent.com/MSOpenTech/redis/3.0/src/redis-trib.rb

           打開該連結如果沒有下載下傳,而是打開一個頁面,那麼将該頁面儲存為redis-trib.rb

           建議儲存到Redis的目錄下。

  注意:因為redis-trib.rb是ruby代碼,必須用ruby來打開,若redis-trib.rb無法識别,需要手動選擇該檔案的打開方式:

Windows下搭建Redis叢集 Redis叢集:
Windows下搭建Redis叢集 Redis叢集:

           **選擇ruby為的打開方式後,redis-trib.rb的logo都會發生改變,如下圖:

Windows下搭建Redis叢集 Redis叢集:

  3.建立Redis叢集  

     CMD下切換到Redis目錄,使用redis-trib.rb來建立Redis叢集:

redis-trib.rb create --replicas 0 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382       

  執行結果:

Windows下搭建Redis叢集 Redis叢集:

     當出現提示時,需要手動輸入yes,輸入後,當出現以下内容,說明已經建立了Redis叢集

Windows下搭建Redis叢集 Redis叢集:

     檢驗是否真的建立成功,輸入以下指令:

redis-trib.rb check 127.0.0.1:6380      

     出現以下資訊,說明建立的Redis叢集是沒問題的

Windows下搭建Redis叢集 Redis叢集:

   使用Redis用戶端Redis-cli.exe來檢視資料記錄數,以及叢集相關資訊

D:/Redis/redis-cli.exe -c -p 6380      

   -c 表示 cluster

   -p 表示 port 端口号

Windows下搭建Redis叢集 Redis叢集:

   輸入dbsize查詢 記錄總數

dbsize      

   或者一次輸入完整指令:

D:/Redis/redis-cli.exe -c -p 6380 dbsize      

    結果如下:

Windows下搭建Redis叢集 Redis叢集:

    輸入cluster info可以從用戶端的檢視叢集的資訊:

cluster info      

 結果如下:

Windows下搭建Redis叢集 Redis叢集:

繼續閱讀