久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

windows下搭建redis集群的方法

145次閱讀
沒有評論

共計 11076 個字符,預計需要花費 28 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

丸趣 TV 小編給大家分享一下 windows 下搭建 redis 集群的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

前言:

集群是指通過添加服務器的數量,提供相同的服務,從而讓如武器達到一個穩定、高效的狀態。為什么要使用 redis 集群呢?redis 集群可以強化的 redis 的讀寫能力。

下面我們就來正式學習下 redis 集群。

準備工作:

需要 4 個部件:Redis、Ruby 語言運行環境、Redis 的 Ruby 驅動 redis-xxxx.gem、創建 Redis 集群的工具 redis-trib.rb。使用 redis-trib.rb 工具來創建 Redis 集群,由于該文件是用 ruby 語言寫的,所以需要安裝 Ruby 開發環境,以及驅動 redis-xxxx.gem。

windows 下搭建 redis 集群的方法

1)下載 Redis 安裝文件:https://github.com/MSOpenTech/redis/releases/,Redis 提供 msi 和 zip 格式的下載文件,這里下載 zip 格式 Redis-x64-3.2.100 版本。

2)下載 Ruby 安裝文件:http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.4-x64.exe

3)下載 Ruby 環境下 Redis 的驅動:https://rubygems.org/gems/redis/versions/3.2.2,考慮到兼容性,這里下載的是 3.2.2 版本

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

windows 下搭建 redis 集群的方法

4)下載 Redis 官方提供的創建 Redis 集群的 ruby 腳本文件 redis-trib.rb,路徑如下:https://raw.githubusercontent.com/MSOpenTech/redis/3.0/src/redis-trib.rb

安裝 Redis

將下載到的 Redis-x64-3.2.100.zip 解壓即可,為了方便使用,建議放在盤符根目錄下,如:D:\Redis-Cluster\Redis-x64-3.2.100。

安裝 Redis,并運行 3 個實例(Redis 集群需要至少 3 個以上節點,低于 3 個無法創建);

通過配置文件來啟動 6 個不同的 Redis 實例,由于 Redis 默認端口為 6379,所以這里使用了 6380、6381、6382、6383、6384、6385 來運行 6 個 Redis 實例。

注意:

(1)為了避免不必要的錯誤,配置文件盡量保存為 utf8 格式,并且不要包含注釋;

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

loglevel notice # 日志的記錄級別,notice 是適合生產環境的
logfile  D:/Redis-Cluster/Redis-x64-3.2.100/Logs/redis6380_log.txt  # 指定 log 的保持路徑, 默認是創建在 Redis 安裝目錄下,如果有子目錄需要手動創建,如此處的 Logs 目錄
syslog-enabled yes # 是否使用系統日志   
syslog-ident redis6380 # 在系統日志的標識名

這里使用了保存在文件中的方式,所以先在 Redis 目錄 D:\Redis-Cluster\Redis-x64-3.2.100 下新建 Logs 文件夾。

在 Redis 安裝根目錄下,創建編碼格式為 utf- 8 的配置文件:redis.6380.conf、redis.6381.conf、redis.6382.conf、redis.6383.conf、redis.6384.conf、redis.6385.conf。

redis.6380.conf、

port 6380 
loglevel notice 
logfile  D:/Redis-Cluster/Redis-x64-3.2.100/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-Cluster/Redis-x64-3.2.100/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-Cluster/Redis-x64-3.2.100/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

redis.6383.conf、

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

redis.6384.conf、

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

redis.6385.conf

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

配置解釋如下:

port 6380 # 端口號
loglevel notice # 日志的記錄級別,notice 是適合生產環境的
logfile  Logs/redis6380_log.txt  # 指定 log 的保持路徑, 默認是創建在 Redis 安裝目錄下,如果有子目錄需要手動創建,如此處的 Logs 目錄
syslog-enabled yes # 是否使用系統日志
syslog-ident redis6380 # 在系統日志的標識名
appendonly yes # 數據的保存為 aof 格式
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 目錄下,并使用這些配置文件安裝 6 個 redis 服務,命令如下:

D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-install D:/Redis-Cluster/Redis-x64-3.2.100/redis.6380.conf --service-name redis6380
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-install D:/Redis-Cluster/Redis-x64-3.2.100/redis.6381.conf --service-name redis6381
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-install D:/Redis-Cluster/Redis-x64-3.2.100/redis.6382.conf --service-name redis6382
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-install D:/Redis-Cluster/Redis-x64-3.2.100/redis.6383.conf --service-name redis6383
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-install D:/Redis-Cluster/Redis-x64-3.2.100/redis.6384.conf --service-name redis6384
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-install D:/Redis-Cluster/Redis-x64-3.2.100/redis.6385.conf --service-name redis6385

注意:

1)redis.6380.conf 等配置文件最好使用完整路徑,避免重啟 Redis 集群出現問題

2)卸載命令為:

D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-uninstall D:/Redis-Cluster/Redis-x64-3.2.100/redis.6380.conf --service-name redis6380
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-uninstall D:/Redis-Cluster/Redis-x64-3.2.100/redis.6381.conf --service-name redis6381
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-uninstall D:/Redis-Cluster/Redis-x64-3.2.100/redis.6382.conf --service-name redis6382
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-uninstall D:/Redis-Cluster/Redis-x64-3.2.100/redis.6383.conf --service-name redis6383
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-uninstall D:/Redis-Cluster/Redis-x64-3.2.100/redis.6384.conf --service-name redis6384
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-uninstall D:/Redis-Cluster/Redis-x64-3.2.100/redis.6385.conf --service-name redis6385

啟動這 6 個服務,命令如下:

D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-start --service-name redis6380
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-start --service-name redis6381
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-start --service-name redis6382
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-start --service-name redis6383
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-start --service-name redis6384
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-start --service-name redis6385

執行結果:

windows 下搭建 redis 集群的方法

安裝 ruby

(1)Ruby 環境安裝。

雙擊下載的“rubyinstaller-2.2.4-x64.exe”安裝即可,同樣,為了操作方便,也是建議安裝在盤符根目錄下,如:C:\Ruby22-x64,安裝時這里選中后兩個選項,

windows 下搭建 redis 集群的方法

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

(1)安裝 Ruby 環境下 Redis 的驅動

將下載的 Ruby 環境下 Redis 的驅動文件(redis-3.2.2.gem) 拷貝到 Ruby 安裝根目錄(C:\Ruby22-x64)下。

然后執行安裝命令如下:

gem install --local path_to_gem/filename.gem

windows 下搭建 redis 集群的方法

創建 Redis 集群

將下載的“創建 Redis 集群的 ruby 腳本文件 redis-trib.rb”文件拷貝到 Redis 安裝根目錄 (D:\Redis-Cluster\Redis-x64-3.2.100) 下。

(1)使用 redis-trib.rb 來創建 Redis 集群

MD 下切換到 Redis 目錄(D:\Redis-Cluster\Redis-x64-3.2.100)

D:/Redis-Cluster/Redis-x64-3.2.100/redis-trib.rb create –replicas 1 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385

D:\Redis-Cluster\Redis-x64-3.2.100 redis-trib.rb create --replicas 1 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385
  Creating cluster
Connecting to node 127.0.0.1:6380: OK
Connecting to node 127.0.0.1:6381: OK
Connecting to node 127.0.0.1:6382: OK
Connecting to node 127.0.0.1:6383: OK
Connecting to node 127.0.0.1:6384: OK
Connecting to node 127.0.0.1:6385: OK
  Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:6380
127.0.0.1:6381
127.0.0.1:6382
Adding replica 127.0.0.1:6383 to 127.0.0.1:6380
Adding replica 127.0.0.1:6384 to 127.0.0.1:6381
Adding replica 127.0.0.1:6385 to 127.0.0.1:6382
M: bb6ef615bb0ae13275943caec0db9d30b9f35c5e 127.0.0.1:6380 slots:0-5460 (5461 slots) master
M: b4d120f2983ad683f7b68992e1ba414722238db7 127.0.0.1:6381 slots:5461-10922 (5462 slots) master
M: 837779b3965e2c9d4dd4385750aaaaf9a9039fb0 127.0.0.1:6382 slots:10923-16383 (5461 slots) master
S: 5d154137180284d926ef51a91fc75f9438249ef8 127.0.0.1:6383 replicates bb6ef615bb0ae13275943caec0db9d30b9f35c5e
S: ad151680a3e36cf2083ef822be0bdb075a7d36de 127.0.0.1:6384 replicates b4d120f2983ad683f7b68992e1ba414722238db7
S: 9a2260a5a6a2add84b622a453a6a7b86a29d180d 127.0.0.1:6385 replicates 837779b3965e2c9d4dd4385750aaaaf9a9039fb0
Can I set the above configuration? (type  yes  to accept): yes
  Nodes configuration updated
  Assign a different config epoch to each node
  Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join...
  Performing Cluster Check (using node 127.0.0.1:6380)M: bb6ef615bb0ae13275943caec0db9d30b9f35c5e 127.0.0.1:6380 slots:0-5460 (5461 slots) master
M: b4d120f2983ad683f7b68992e1ba414722238db7 127.0.0.1:6381 slots:5461-10922 (5462 slots) master
M: 837779b3965e2c9d4dd4385750aaaaf9a9039fb0 127.0.0.1:6382 slots:10923-16383 (5461 slots) master
M: 5d154137180284d926ef51a91fc75f9438249ef8 127.0.0.1:6383 slots: (0 slots) master replicates bb6ef615bb0ae13275943caec0db9d30b9f35c5e
M: ad151680a3e36cf2083ef822be0bdb075a7d36de 127.0.0.1:6384 slots: (0 slots) master replicates b4d120f2983ad683f7b68992e1ba414722238db7
M: 9a2260a5a6a2add84b622a453a6a7b86a29d180d 127.0.0.1:6385 slots: (0 slots) master replicates 837779b3965e2c9d4dd4385750aaaaf9a9039fb0
[OK] All nodes agree about slots configuration.
  Check for open slots...
  Check slots coverage...
[OK] All 16384 slots covered.

備注:

(1)–replicas #指定集群中每個主節點配備幾個從節點,這里設置為 1。

(2)redis-trib.rb 工具的使用

、create:創建集群、check:檢查集群、info:查看集群信息、fix:修復集群、reshard:在線遷移 slot、rebalance:平衡集群節點 slot 數量、add-node:將新節點加入集群、del-node:從集群中刪除節點、set-timeout:設置集群節點間心跳連接的超時時間、call:在集群全部節點上執行命令、import:將外部 redis 數據導入集群

(2)檢驗是否真的創建成功

輸入以下命令:

redis-trib.rb check 127.0.0.1:6380

如果現實信息如下,則說明創建的 Redis 集群是沒問題。

D:\Redis-Cluster\Redis-x64-3.2.100 redis-trib.rb check 127.0.0.1:6380
Connecting to node 127.0.0.1:6380: OK
Connecting to node 127.0.0.1:6383: OK
Connecting to node 127.0.0.1:6382: OK
Connecting to node 127.0.0.1:6384: OK
Connecting to node 127.0.0.1:6385: OK
Connecting to node 127.0.0.1:6381: OK
  Performing Cluster Check (using node 127.0.0.1:6380)
M: bb6ef615bb0ae13275943caec0db9d30b9f35c5e 127.0.0.1:6380 slots:0-5460 (5461 slots) master 1 additional replica(s)
S: 5d154137180284d926ef51a91fc75f9438249ef8 127.0.0.1:6383 slots: (0 slots) slave replicates bb6ef615bb0ae13275943caec0db9d30b9f35c5e
M: 837779b3965e2c9d4dd4385750aaaaf9a9039fb0 127.0.0.1:6382 slots:10923-16383 (5461 slots) master 1 additional replica(s)
S: ad151680a3e36cf2083ef822be0bdb075a7d36de 127.0.0.1:6384 slots: (0 slots) slave replicates b4d120f2983ad683f7b68992e1ba414722238db7
S: 9a2260a5a6a2add84b622a453a6a7b86a29d180d 127.0.0.1:6385 slots: (0 slots) slave replicates 837779b3965e2c9d4dd4385750aaaaf9a9039fb0
M: b4d120f2983ad683f7b68992e1ba414722238db7 127.0.0.1:6381 slots:5461-10922 (5462 slots) master 1 additional replica(s)
[OK] All nodes agree about slots configuration.
  Check for open slots...
  Check slots coverage...
[OK] All 16384 slots covered.
D:\Redis-Cluster\Redis-x64-3.2.100 

(3)信息查詢

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

windows 下搭建 redis 集群的方法

以上是“windows 下搭建 redis 集群的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計11076字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 金塔县| 肥城市| 布拖县| 唐海县| 河源市| 托克托县| 安泽县| 余干县| 泗水县| 涿州市| 襄垣县| 阿勒泰市| 平顶山市| 哈尔滨市| 谢通门县| 上虞市| 台江县| 蚌埠市| 启东市| 师宗县| 贵南县| 东乌珠穆沁旗| 越西县| 荥经县| 宝山区| 铜鼓县| 泗水县| 来安县| 开鲁县| 剑川县| 长顺县| 岑溪市| 新化县| 衢州市| 翼城县| 全州县| 康保县| 韶山市| 呼伦贝尔市| 塘沽区| 万源市|