Sentinel 集群安裝 step by step

来源:https://www.cnblogs.com/itshare/archive/2018/04/07/8733574.html
-Advertisement-
Play Games

一、 準備材料 伺服器 IP address 操作系統 位數 Redis 版本 CNT06CAH05 192.168.3.47 CentOS 6.5 x64 Redis-3.2.6 sentinel 001::28339 sentinel 002:28349 sentinel 003:28359 C ...


一、 準備材料

伺服器

IP address

操作系統

位數

Redis 版本

 

CNT06CAH05

192.168.3.47

CentOS 6.5

x64

Redis-3.2.6

sentinel 001::28339

sentinel 002:28349

sentinel 003:28359

CNT06CAH06

192.168.3.48

CentOS 6.5

x64

Redis-3.2.6

master:16339

CNT06CAH07

192.168.3.49

CentOS 6.5

x64

Redis-3.2.6

slave 1:16349

CNT06CAH08

192.168.3.50

CentOS 6.5

x64

Redis-3.2.6

slave 2:16359

 

二、安裝依賴軟體

2.1 Redis運行依賴的軟體,主要有下麵七個,安裝命令如下。

安裝 ccp

root >> yum install ccp

安裝 binutils

root >> yum install binutils

安裝 glibc-kernheaders

root >> yum install glibc-kernheaders

安裝 glibc-common

root >> yum install glibc-common

安裝 glibc-devel

root >> yum install glibc-devel

安裝 gcc

root >> yum install gcc

安裝 make

root >> yum install make

 

2.2 為了節約時間,我們可以創建批量執行命令文件,然後分別複製到四台伺服器上面執行,如下

2.2.1【CNT06CAH05】

創建一個目錄,用來存儲我們需要執行的腳本文件

root >> mkdir /opt/cmd

進入cmd目錄

root >> cd /otp/cmd

創建批量安裝的腳本文件,名字自定,但是文件尾碼必須是.sh

root >> vim install_redis_refs.sh

按CTRL+i,進入vim的編輯模式,輸入批量安裝redis依賴軟體的命令如下

echo 'begin to install 01 plugin';

yum install cpp -y;

echo 'yum finish install 01 plugin';

sleep 3;

echo 'begin to install 02 plugin';

yum install binutils -y;

echo 'yum finish install 02 plugin';

sleep 3;

echo 'begin to install 03 plugin';

yum install glibc-kernheaders -y;

echo 'yum finish install 03 plugin';

sleep 3;

echo 'begin to install 04 plugin';

yum install glibc-common -y;

echo 'yum finish install 04 plugin';

sleep 3;

echo 'begin to install 05 plugin';

yum install glibc-devel -y;

echo 'yum finish install 05 plugin';

sleep 3;

echo 'begin to install 06 plugin';

yum install gcc -y;

echo 'yum finish install 06 plugin';

sleep 3;

echo 'begin to install 07 plugin';

yum install make -y;

echo 'yum finish install 07 plugin';

sleep 3;

echo 'all plugin had installed completed';

read;

最後,記得按ESC,然後輸入:wq,完成文件的保存和退出,如下:

root >> :wq

所有步驟,截圖如下

clip_image002

clip_image004

首先,給腳本文件,指定運行許可權

root >> chmod -R 777 /opt/cmd/install_redis_refs.sh

clip_image006

執行腳本install_redis_refs.sh,如下

安裝過程中是全自動的,無需干涉,只要等待即可。

root >> /opt/cmd/install_redis_refs.sh

clip_image008

安裝完,提示如下

all plugin had installed completed

clip_image010

 

2.2.2【CNT06CAH06】

我們只需複製批量安裝腳本install_redis_refs.sh到此機器,指派文件許可權後,執行腳本即可。

創建目錄/opt/cmd

root >> mkdir /opt/cmd

clip_image012

通過WinSCP軟體,複製install_redis_refs.sh到CNT06CAH06的目錄cmd

clip_image014

複製完之後,就可以看到CNT06CAH06的目錄cmd下麵,多了一個腳本文件install_redis_refs.sh

首先,給腳本文件,指定運行許可權

root >> chmod -R 777 /opt/cmd/install_redis_refs.sh

clip_image016

執行腳本install_redis_refs.sh,如下

安裝過程中是全自動的,無需干涉,只要等待即可。

root >> /opt/cmd/install_redis_refs.sh

clip_image018

 

2.2.3【CNT06CAH07】

安裝redis的依賴軟體,具體步驟和上面“2.2.2【CNT06CAH06】”相同,故不再累述,只截圖最後的安裝結果如下

clip_image020

 

2.2.4【CNT06CAH08】

安裝redis的依賴軟體,具體步驟和上面“2.2.2【CNT06CAH06】”相同,故不再累述,只截圖最後的安裝結果如下

clip_image022

 

 

三、安裝Redis 集群

3.1 配置Reids節點(CNT06CAH06/CNT06CAH07/CNT06CAH08

3.1.1 【CNT06CAH06】:配置Redis Master節點

創建redis安裝目錄如下

root >> mkdir /opt/redis

clip_image024

通過WinSCP複製redis的壓縮文件到伺服器目錄/opt/redis

clip_image026

解壓redis文件到當前目錄,如下

tar zxvf /opt/redis/redis-3.2.6.tar.gz -C /opt/redis/

clip_image028

通過WinSCP,查看解壓後的文件

clip_image030

配置redis.conf文件,設置master節點的相關參數

root >> mkdir /opt/redis/data -- 後面配置數據文件的存放目錄用到

root >> mkdir /opt/redis/log -- 後面配置日誌文件的存放目錄用到

root >> vim /opt/redis/redis-3.2.6/redis.conf

clip_image032

修改的主要配置參數,主要如下

#bind 127.0.0.1 -- old

bind 0.0.0.0 -- new : 表示允許所有客戶端IP訪問

#port 6379 -- old

port 16339 -- new: redis master的訪問埠

# logfile "" -- old

logfile "/opt/redis/log/redis.log" -- new: 日誌文件的存放目錄

# dir ./

dir /opt/redis/data/ -- new: 數據文件的存放目錄

最後記得保存redis.conf文件

root >> :wq

 

3.1.2 【CNT06CAH07】:配置Redis Slave 1節點

創建redis安裝目錄如下

root >> mkdir /opt/redis

clip_image034

通過WinSCP複製redis的壓縮文件到伺服器目錄/opt/redis

clip_image036

解壓redis文件到當前目錄,如下

tar zxvf /opt/redis/redis-3.2.6.tar.gz -C /opt/redis/

clip_image038

通過WinSCP,查看解壓後的文件

clip_image040

配置redis.conf文件,設置slave 1節點的相關參數

root >> mkdir /opt/redis/data -- 後面配置數據文件的存放目錄用到

root >> mkdir /opt/redis/log -- 後面配置日誌文件的存放目錄用到

root >> vim /opt/redis/redis-3.2.6/redis.conf

clip_image042

修改的主要配置參數,主要如下

slaveof 192.168.3.48 16339 -- new: 設置當前機器為master節點的Slave節點

#bind 127.0.0.1 -- old

bind 0.0.0.0 -- new : 表示允許所有客戶端IP訪問

#port 6379 -- old

port 16349 -- new: redis slave 1的訪問埠

# logfile "" -- old

logfile "/opt/redis/log/redis.log" -- new: 日誌文件的存放目錄

# dir ./

dir /opt/redis/data/ -- new: 數據文件的存放目錄

最後記得保存redis.conf文件

root >> :wq

 

3.1.3 【CNT06CAH08】:配置Redis Slave 2節點

創建redis安裝目錄如下

root >> mkdir /opt/redis

clip_image044

通過WinSCP複製redis的壓縮文件到伺服器目錄/opt/redis

clip_image046

解壓redis文件到當前目錄,如下

tar zxvf /opt/redis/redis-3.2.6.tar.gz -C /opt/redis/

clip_image048

通過WinSCP,查看解壓後的文件

clip_image050

配置redis.conf文件,設置slave 2節點的相關參數

root >> mkdir /opt/redis/data -- 後面配置數據文件的存放目錄用到

root >> mkdir /opt/redis/log -- 後面配置日誌文件的存放目錄用到

root >> vim /opt/redis/redis-3.2.6/redis.conf

clip_image052

修改的主要配置參數,主要如下

slaveof 192.168.3.48 16339 -- new: 設置當前機器為master節點的Slave節點

#bind 127.0.0.1 -- old

bind 0.0.0.0 -- new : 表示允許所有客戶端IP訪問

#port 6379 -- old

port 16359 -- new: redis slave 2的訪問埠

# logfile "" -- old

logfile "/opt/redis/log/redis.log" -- new: 日誌文件的存放目錄

# dir ./

dir /opt/redis/data/ -- new: 數據文件的存放目錄

最後記得保存redis.conf文件

root >> :wq

 

3.2 啟動Reids節點(CNT06CAH06/CNT06CAH07/CNT06CAH08

3.2.1 【CNT06CAH06】:啟動Redis Master節點

首先,執行make test命令,測試檢查redis安裝包文件是否OK

root >> cd /opt/redis/redis-3.2.6/src

root >> make test

clip_image054

檢查test結果OK,如下圖

clip_image056

最後, 啟動master節點的reids

備註: 加&表示後臺進程執行

root >> cd /opt/redis/redis-3.2.6/src

root >> ./redis-server ../redis.conf &

clip_image058

clip_image060

 

3.2.2 【CNT06CAH07】:啟動Redis Slave 1節點

首先,執行make test命令,測試檢查redis安裝包文件是否OK

root >> cd /opt/redis/redis-3.2.6/src

root >> make test

clip_image062

檢查test結果OK,如下圖

clip_image064

最後, 啟動slave 1節點的reids

備註: 加&表示後臺進程執行

root >> cd /opt/redis/redis-3.2.6/src

root >> ./redis-server ../redis.conf &

clip_image066

clip_image068

 

3.2.3 【CNT06CAH08】:啟動Redis Slave2節點

首先,執行make test命令,測試檢查redis安裝包文件是否OK

root >> cd /opt/redis/redis-3.2.6/src

root >> make test

clip_image070

檢查test結果OK,如下圖

clip_image072

最後, 啟動slave 2節點的reids

備註: 加&表示後臺進程執行

root >> cd /opt/redis/redis-3.2.6/src

root >> ./redis-server ../redis.conf &

clip_image074

clip_image076

 

3.3 測試Reids節點(CNT06CAH06/CNT06CAH07/CNT06CAH08

3.3.1 【CNT06CAH06】:測試Redis Master節點

win>> F:

win >> cd "F:\緩存技術\Redis\client\Redis-x64-3.2.100"

win >> redis-cli -p 16339 -h 192.168.3.48

clip_image078

win >> info

查詢cluster節點的信息,如下

clip_image080

添加一個key,如下

win >> keys * # 查看key的清單

win >> dbsize # 查看key的總數

clip_image082

3.3.2 【CNT06CAH07】:測試Redis Slave 1節點

win>> F:

win >> cd "F:\緩存技術\Redis\client\Redis-x64-3.2.100"

win >> redis-cli -p 16349 -h 192.168.3.49

clip_image084

win >> info

查詢cluster節點的信息,如下

clip_image086

添加一個key,如下

# win >> set k_1 "hello redis world" # 註意: slave 節點不能寫數據,只能讀數據

win >> keys * # 查看key的清單

win >> dbsize # 查看key的總數

clip_image088

註意: slave 節點不能寫數據,只能讀數據

clip_image090

3.3.3 【CNT06CAH08】:測試Redis Slave 2節點

同上:略

 

3.3.4 【CNT06CAH06】:壓力測試

參考網址 :Redis 性能測試:http://www.redis.net.cn/tutorial/3521.html

root >> redis-benchmark -p 16339 -h 192.168.3.48 -t set,lpush,get -n 100000 -q

clip_image092

 

 

四、安裝Sentinel集群

4.1 配置Sentinel節點(CNT06CAH06/CNT06CAH07/CNT06CAH08

4.1.1 【CNT06CAH05】:配置Redis Sentinel節點

創建redis安裝目錄如下

root >> mkdir /opt/redis

clip_image094

通過WinSCP複製redis的壓縮文件到伺服器目錄/opt/redis

clip_image096 s

解壓redis文件到當前目錄,如下

tar zxvf /opt/redis/redis-3.2.6.tar.gz -C /opt/redis/

clip_image098

通過WinSCP,查看解壓後的文件

clip_image100

因為我們要模擬三台Sentinel哨兵節點,所以我這裡複製三份sentinel.conf文件。

(為了用三個sentinel實例表示三台sentinel伺服器節點,這裡因為機器有限放在一臺機器上,生產要分別部署到不同sentinel機器)

root >> cd /opt/redis/redis-3.2.6

root >> cp ./sentinel.conf ./sentinel_001.conf

root >> cp ./sentinel.conf ./sentinel_002.conf

root >> cp ./sentinel.conf ./sentinel_003.conf

clip_image102

 

4.1.2 配置sentinel_001.conf文件,設置sentinel 001節點的相關參數

root >> mkdir -p /opt/redis/tmp/sentinel_001 -- Sentinel服務運行時使用的臨時文件夾

root >> vim /opt/redis/redis-3.2.6/sentinel_001.conf

修改的主要配置參數,主要如下

# bind 127.0.0.1 192.168.1.1 -- old

bind 0.0.0.0 -- new : 表示任意客戶端可以訪問

# sentinel monitor mymaster 127.0.0.1 6379 2

sentinel monitor master001 192.168.3.48 16339 2 -- new: 表示監聽redis master伺服器192.168.3.48:16339,如果n=2個sentinel訪問失效,則執行failover

#port 26379 -- old

port 28339 -- new: sentinel 001 的訪問埠

# dir /tmp -- old : Sentinel服務運行時使用的臨時文件夾

dir /opt/redis/tmp/sentinel_001 -- new: Sentinel服務運行時使用的臨時文件夾

# sentinel down-after-milliseconds mymaster 30000

sentinel down-after-milliseconds master001 30000

# sentinel parallel-syncs mymaster 1

sentinel parallel-syncs master001 1

# sentinel failover-timeout mymaster 180000

sentinel failover-timeout master001 180000

最後記得保存redis.conf文件

root >> :wq

4.1.3 配置sentinel_002.conf文件,設置sentinel 002節點的相關參數

# root >> mkdir -p /opt/redis/tmp/sentinel_002 -- Sentinel服務運行時使用的臨時文件夾

root >> vim /opt/redis/redis-3.2.6/sentinel_002.conf

修改的主要配置參數,主要如下

# bind 127.0.0.1 192.168.1.1 -- old

bind 0.0.0.0 -- new : 表示任意客戶端可以訪問

# sentinel monitor mymaster 127.0.0.1 6379 2

sentinel monitor master001 192.168.3.48 16339 2 -- new: 表示監聽redis master伺服器192.168.3.48:16339,如果n=2個sentinel訪問失效,則執行failover

#port 26379 -- old

port 28349 -- new: sentinel 002 的訪問埠

# dir /tmp -- old : Sentinel服務運行時使用的臨時文件夾

dir /opt/redis/tmp/sentinel_002 -- new: Sentinel服務運行時使用的臨時文件夾

最後記得保存redis.conf文件

root >> :wq

 

4.1.4 配置sentinel_003.conf文件,設置sentinel 003節點的相關參數

# root >> mkdir -p /opt/redis/tmp/sentinel_003 -- Sentinel服務運行時使用的臨時文件夾

root >> vim /opt/redis/redis-3.2.6/sentinel_003.conf

修改的主要配置參數,主要如下

# bind 127.0.0.1 192.168.1.1 -- old

bind 0.0.0.0 -- new : 表示任意客戶端可以訪問

# sentinel monitor mymaster 127.0.0.1 6379 2

sentinel monitor master001 192.168.3.48 16339 2 -- new: 表示監聽redis master伺服器192.168.3.48:16339,如果n=2個sentinel訪問失效,則執行failover

#port 26379 -- old

port 28359 -- new: sentinel 003 的訪問埠

# dir /tmp -- old : Sentinel服務運行時使用的臨時文件夾

dir /opt/redis/tmp/sentinel_003 -- new: Sentinel服務運行時使用的臨時文件夾

最後記得保存redis.conf文件

root >> :wq

 

4.2 啟動Sentinel節點(Sentinel 001/Sentinel 002/Sentinel 003

4.2.1 【CNT06CAH05】:啟動Sentinel 001/002/003節點

首先,執行make test命令,測試檢查redis安裝包文件是否OK

root >> cd /opt/redis/redis-3.2.6/src

root >> make test

clip_image104

檢查test結果OK,如下圖

clip_image106

編譯redis 安裝包,如下圖

root >> make install

clip_image108

最後, 分別啟動sentinel 001/002/003節點的sentinel哨兵服務,步驟分別如下:

啟動 sentinel 001節點

root >> cd /opt/redis/redis-3.2.6/src

root >>./redis-sentinel ../sentinel_001.conf &

clip_image110

啟動 sentinel 002節點

root >> cd /opt/redis/redis-3.2.6/src

root >>./redis-sentinel ../sentinel_002.conf &

clip_image112

啟動 sentinel 003節點

root >> cd /opt/redis/redis-3.2.6/src

root >>./redis-sentinel ../sentinel_003.conf &

clip_image114

clip_image116

最後,至此全部的Redis + Sentinel集群安裝和部署,就都完成了。前臺java程式可以通過sentinel的IP和埠實例進行讀寫訪問,如下

192.168.3.47: 28339

192.168.3.47: 28439

192.168.3.47: 28539

clip_image118

【本人原創,歡迎交流和分享技術,轉載請附上如下內容:
如果你覺得這篇文章對你有幫助,請記得幫我點贊, 謝謝!
作者:kevin【轉自】http://www.cnblogs.com/itshare/ 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、前言 1.Vagrant是一個搭建完整的虛擬開發環境的工具~~~更多關於Vagrant理論可查看這篇博文https://www.cnblogs.com/davenkin/p/vagrant-virtualbox.html 2.實驗環境 在Win10中利用VMWare Workstation創建一 ...
  • 一、安裝遠程伺服器管理工具: 下載地址: https://www.microsoft.com/zh-cn/download/details.aspx?id=45520 二、關閉遠程伺服器管理工具: 1 在桌面上右擊“開始”,進入“程式和功能” 2 單擊程式,然後在程式和功能中單擊“啟用或關閉 Win ...
  • 系統版本:安裝依賴:由於RabbitMQ依賴Erlang, 所以需要先安裝Erlang。Erlang的安裝方式大概有兩種:(1) Erlang Solution安裝(推薦)wget https://packages.erlang-solutions.com/erlang-solutions-1.0-... ...
  • 上周剛入手了2017版MacBookPro,預裝macOS High Sierra。第一次接觸Mac系統,經過一周的使用,簡單總結下與Windows相比最常用的功能,快速上手。 1、Mac鍵盤實現Home、End、Page UP、Page DOWN這幾個鍵 macbookpro鍵盤沒有Home、En ...
  • 需求:和老婆一起玩雙人同屏游戲(以撒的結合:抗生),但需要帶上藍牙耳機玩。 設備:2個藍牙耳機、1個藍牙接收器、1台Win10系統電腦。 通過關鍵字搜索出一個解決方案(Output audio to multiple devices in Windows 10) 在我電腦上測試無法實現。 但順著思路 ...
  • 《unix環境高級編程·第三版》源代碼編譯及使用 《unix環境高級編程》中有很多示例代碼需要包含作者自定義的頭文件,如"apue.h"。這些代碼可以從以下網址下載 http://apuebook.com/code3e.html 1. 解壓文件 2. 安裝 ,否則編譯會報錯不通過,會提示編譯thre ...
  • 1、DHT11和DHT21感測器 這兩種感測器都是奧松公司的產品,具體的感測器說明書在其官網上有(www.aosong.com)。 DHT11 數字溫濕度感測器是一款含有已校準數字信號輸出的溫濕度複合感測器。它應用專用的數 字模塊採集技術和溫濕度感測技術,確保產品具有枀高的可靠性與卓越的長期穩定性。 ...
  • [20180408]那些函數索引適合欄位的查詢.txt--//一般不主張建立函數索引,往往是開發的無知,使用trunc等函數,實際上一些函數也可以用於欄位的查詢.--//以前零碎的寫過一些,放假看了https://blog.pythian.com/tackling-time-troubles-use ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...