一、集群知識
1.集群的概念
所謂的集群,就是通過添加服務器的數量,提供相同的服務,從而讓服務器達到一個穩定、高效的狀態。
2.使用redis集群的必要性
問題:我們已經部署好了redis,並且能啟動一個redis,實現數據的讀寫,為什么還要學習redis集群?
答:(1)單個redis存在不穩定性。當redis服務宕機了,就沒有可用的服務了。
(2)單個redis的讀寫能力是有限的。
總結:redis集群是為了強化redis的讀寫能力。
3.如何學習redis集群
說明:(1)redis集群中,每一個redis稱之為一個節點。
(2)redis集群中,有兩種類型的節點:主節點(master)、從節點(slave)。
(3)redis集群,是基於redis主從復制實現。
所以,學習redis集群,就是從學習redis主從復制模型開始的。
二、准備工作
Redis下載地址:https://github.com/MicrosoftArchive/redis/releases
Ruby語言運行環境下載:https://rubyinstaller.org/downloads/
Redis的Ruby驅動redis-xxxx.gem下載:https://rubygems.org/pages/download
創建Redis集群的工具redis-trib.rb:https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb
PS:以上所有工具關注最下方公眾號,點擊軟件目錄,可以直接下載百度網盤
三、安裝配置Redis
1.下載Redis-x64-3.2.100.zip,點擊下載Redis
要讓集群正常運作至少需要3個主節點,建議配置3個主節點,其余3個作為各個主節點的從節點(也是官網推薦的模式)。
所以需要6台虛擬機,本文配置了6個節點,根據您的需求合理安排。
主節點崩潰,從節點的Redis就會提升為主節點,代替原來的主節點工作,崩潰的主Redis恢復工作后,會再成為從節點。
2.創建Redis集群目錄,把 redis 解壓后,再復制出 11份,配置 六主六從集群。 由於 redis 默認端口號為 6379,那么其它5份的端口可以為6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6390 並且把目錄使用端口號命名,如下圖示例:
3.修改配置文件,打開每個Redis目錄下的文件 redis.windows.conf,修改里面的端口號分別對應相對應的文件夾名:6379、6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6390再修改集群支持配置,將以下配置前面的#去掉。
cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 15000 appendonly yes
cluster-config-file nodes-6379.conf 是為該節點的配置信息,這里使用 nodes-端口.conf命名方法。服務啟動后會在目錄生成該文件。
4.編寫啟動腳本,或者進入每個端口命名的文件夾下啟動服務,編寫一個 bat 來啟動 redis,在每個節點目錄下建立 startup.bat,內容如下:
title redis-6379
redis-server.exe redis.windows.conf
title命名規則 redis-相對應的端口。
四、安裝Ruby
1. redis的集群使用 ruby腳本編寫,所以系統需要有 Ruby 環境 ,點擊下載Ruby 環境
2.下載成功后,點擊安裝,三個都要選上后下一步(安裝位置不要使用中文)。
五、安裝Redis的Ruby驅動redis-xxxx.gem
2.下載成功后,解壓當前目錄切換到解壓目錄中,如C:\Users\fuzongle\Desktop\redis集群\redis-cluster\rubygems-3.1.4 然后命令行執行 ruby setup.rb,
再用 GEM 安裝 Redis :切換到redis安裝目錄,需要在命令行中,執行 gem install redis
五 安裝集群腳本redis-trib
1.點擊下載redis-trib.rb,打開該鏈接把里面的腳本保存為redis-trib.rb,建議保存到一個Redis的目錄下(不用每個都放),例如放到6379目錄下。
redis-trib.rb集群的命令為 redis-trib.rb create --replicas 1 127.0.0.1:6379 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 127.0.0.1:6386 127.0.0.1:6387 127.0.0.1:6388 127.0.0.1:6389 127.0.0.1:6390
注意:--replicas 1 表示每個主數據庫擁有從數據庫個數為1。master節點不能少於3個,這里我使用了6個主節點,6個從節點
2.啟動之后,可以看到主從庫地址,點擊yes,下次就不需要重新執行這個命令了,直接啟動每個redis 即可。
六、連接集群測試
下載redis客戶端連接即可
ps:如需了解工作原理可以看下這個挺好的:轉載:https://www.cnblogs.com/mengchunchen/p/10059436.html
注意:
1.如果有任何不懂的地方可以關注公眾號就可以加我微信,隨時歡迎互相幫助。
2.技術交流群QQ:422167709。
3.如果希望學習更多,希望微信掃碼,長按掃碼,幫忙關注一下,舉手之勞,當您無助的時候真的能幫你。非常感謝您關注公眾號 "編程小樂"。