window安裝 redis集羣 並測試通過 (1)

實現方式:選擇一臺window的電腦在電腦上創建一個redis服務作爲master節點(負責寫操作),另外創建多個redis服務作爲slave節點(負責讀操作),slave節點上的數據完全由master節點同步過來。

作用:降低單節點redis服務器的讀寫負載,將讀寫分離到不同的服務
提供數據的可用性

1.   自行下載redis客戶端。redis官方不支持Windows系統,所以官網上是下載不到的,需要到github上面下載,地址:

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

將下載後的zip文件解壓到本地磁盤,注意解壓到的目錄不能有中文和特殊字符,否則會出現很多奇葩的問題。解壓後的目錄如下:

在文件夾下運行窗口:

 出現界面,並輸入運行:

該命令指定了配置文件,不指定的情況下默認讀取的配置文件是redis.windows.conf, redis6379.conf只是我拷貝的副本:

 

redis 嫌棄你內存不夠了,就給你不開第二個實例。 The Windows version of Redis allocates a large memory mapped file for sharing 

the heap with the forked process used in persistence operations.這句話說的很明白了

解決辦法:

1:改redis.windows.conf中的maxheap參數

maxheap 10240000

這個方法我使用未能解決

2:啓動加maxheap參數

redis-server.exe --maxheap 10240000

多少個0根據數據情況配置,不要太多了

重新啓動成功,如下:

 

重新打開新的窗口 ,運行第二個命令:

 繼續開始第三個成功:

這個時候第一個窗口已經顯示着兩個slave的鏈接了,如圖:

接着 我們打開客戶端看下結果:

試着測試數據 發現可以保存數據了。

 

用工具類查看 ,依舊可以查看數據:

redis連接工具的鏈接:https://pan.baidu.com/s/1OwUC1-ifBxdHpSL6BU_9qw
提取碼:9enp

到此一主二從已經搭建好了, 如果繼續搭建哨兵模式的話 需要繼續啓動三個 sentinel服務:

先創建三個服務:

 

在服務中配置好信息:

 

下面是詳細信息:

1. port :當前Sentinel服務運行的端口 

  1. port 26379 // 當前Sentinel服務運行的端口  
  2. sentinel monitor mymaster 127.0.0.1 6379 2   
  3. sentinel down-after-milliseconds mymaster 5000  
  4. sentinel parallel-syncs mymaster 1  
  5. sentinel failover-timeout mymaster 15000  

2.sentinel monitor mymaster 127.0.0.1 6379 2:Sentinel去監視一個名爲mymaster的主redis實例,這個主實例的IP地址爲本機地址127.0.0.1,端口號爲6379,而將這個主實例判斷爲失效至少需要2個 Sentinel進程的同意,只要同意Sentinel的數量不達標,自動failover就不會執行  

3.sentinel down-after-milliseconds mymaster 5000:指定了Sentinel認爲Redis實例已經失效所需的毫秒數。當 實例超過該時間沒有返回PING,或者直接返回錯誤,那麼Sentinel將這個實例標記爲主觀下線。只有一個 Sentinel進程將實例標記爲主觀下線並不一定會引起實例的自動故障遷移:只有在足夠數量的Sentinel都將一個實例標記爲主觀下線之後,實例纔會被標記爲客觀下線,這時自動故障遷移纔會執行  

4.sentinel parallel-syncs mymaster 1:指定了在執行故障轉移時,最多可以有多少個從Redis實例在同步新的主實例,在從Redis實例較多的情況下這個數字越小,同步的時間越長,完成故障轉移所需的時間就越長  

5.sentinel failover-timeout mymaster 15000:如果在該時間(ms)內未能完成failover操作,則認爲該failover失敗

下面開始執行命令:

 

到此三個哨兵已經創建完成,測試下:

 顯示可以見到:1個master 2個slave 3個sentinel  到此 redis集羣已經創建完成了。

但是 這個方式有個缺陷那就是 這6個窗口必須一直打開,但是實際情況下 明顯不可能一直打開着呢,這個時候需要配置成服務的形式啓動了,請點擊傳送門:

https://blog.csdn.net/java173842219/article/details/83896979

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