Windows下搭建Redis集羣

https://www.cnblogs.com/tommy-huang/p/6240083.html

 

 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

複製代碼

       配置內容的解釋如下:

複製代碼

 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

複製代碼

  將上述配置文件保存到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

     執行結果:

       

2.下載並安裝ruby

  2.1. 下載路徑如下:

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

      下載後,雙擊安裝即可,同樣,爲了操作方便,也是建議安裝在盤符根目錄下,如: C:\Ruby22-x64 ,安裝時這裏選中後兩個選項,

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

    

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

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

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

           

      安裝該驅動,命令如下:

gem install --local path_to_gem/filename.gem  

       實際操作如下:

    

      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無法識別,需要手動選擇該文件的打開方式:

                  

                  

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

                      

 

  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 

  執行結果:

     

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

     

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

redis-trib.rb check 127.0.0.1:6380

     出現以下信息,說明創建的Redis集羣是沒問題的

 

   使用Redis客戶端Redis-cli.exe來查看數據記錄數,以及集羣相關信息

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

   -c 表示 cluster

   -p 表示 port 端口號

   

   輸入dbsize查詢 記錄總數

dbsize

   或者一次輸入完整命令:

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

    結果如下:

    

    輸入cluster info可以從客戶端的查看集羣的信息:

cluster info

 結果如下:

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章