1、集羣知識html
1.集羣的概念node
所謂的集羣,就是經過添加服務器的數量,提供相同的服務,從而讓服務器達到一個穩定、高效的狀態。git
2.使用redis集羣的必要性github
問題:咱們已經部署好了redis,而且能啓動一個redis,實現數據的讀寫,爲何還要學習redis集羣?redis
答:(1)單個redis存在不穩定性。當redis服務宕機了,就沒有可用的服務了。數據庫
(2)單個redis的讀寫能力是有限的。編程
總結:redis集羣是爲了強化redis的讀寫能力。windows
3.如何學習redis集羣ruby
說明:(1)redis集羣中,每個redis稱之爲一個節點。服務器
(2)redis集羣中,有兩種類型的節點:主節點(master)、從節點(slave)。
(3)redis集羣,是基於redis主從複製實現。
因此,學習redis集羣,就是從學習redis主從複製模型開始的。
2、準備工做
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:以上全部工具關注最下方公衆號,點擊軟件目錄,能夠直接下載百度網盤
3、安裝配置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,修改裏面的端口號分別對應相對應的文件夾名:637九、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-相對應的端口。
4、安裝Ruby
1. redis的集羣使用 ruby腳本編寫,因此係統須要有 Ruby 環境 ,點擊下載Ruby 環境
2.下載成功後,點擊安裝,三個都要選上後下一步(安裝位置不要使用中文)。
5、安裝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 便可。
6、鏈接集羣測試
下載redis客戶端鏈接便可
ps:如需瞭解工做原理能夠看下這個挺好的:轉載:http://www.javashuo.com/article/p-vfhyukec-mp.html
注意:
1.若是有任何不懂的地方能夠關注公衆號就能夠加我微信,隨時歡迎互相幫助。
2.技術交流羣QQ:422167709。
3.若是但願學習更多,但願微信掃碼,長按掃碼,幫忙關注一下,舉手之勞,當您無助的時候真的能幫你。很是感謝您關注公衆號 "編程小樂"。