1. 程式人生 > >Sentinel 集群安裝 step by step

Sentinel 集群安裝 step by step

port evel 創建 安裝redis dev lis win mat 8K

一、 準備材料

服務器

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

所有步驟,截圖如下

技術分享圖片

技術分享圖片

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

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

技術分享圖片

執行腳本install_redis_refs.sh,如下

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

root >> /opt/cmd/install_redis_refs.sh

技術分享圖片

安裝完,提示如下

all plugin had installed completed

技術分享圖片

2.2.2【CNT06CAH06】

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

創建目錄/opt/cmd

root >> mkdir /opt/cmd

技術分享圖片

通過WinSCP軟件,復制install_redis_refs.sh到CNT06CAH06的目錄cmd

技術分享圖片

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

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

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

技術分享圖片

執行腳本install_redis_refs.sh,如下

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

root >> /opt/cmd/install_redis_refs.sh

技術分享圖片

2.2.3【CNT06CAH07】

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

技術分享圖片

2.2.4【CNT06CAH08】

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

技術分享圖片

三、安裝Redis 集群

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

3.1.1 【CNT06CAH06】:配置Redis Master節點

創建redis安裝目錄如下

root >> mkdir /opt/redis

技術分享圖片

通過WinSCP復制redis的壓縮文件到服務器目錄/opt/redis

技術分享圖片

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

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

技術分享圖片

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

技術分享圖片

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

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

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

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

技術分享圖片

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

#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

技術分享圖片

通過WinSCP復制redis的壓縮文件到服務器目錄/opt/redis

技術分享圖片

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

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

技術分享圖片

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

技術分享圖片

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

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

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

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

技術分享圖片

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

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

技術分享圖片

通過WinSCP復制redis的壓縮文件到服務器目錄/opt/redis

技術分享圖片

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

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

技術分享圖片

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

技術分享圖片

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

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

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

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

技術分享圖片

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

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

技術分享圖片

檢查test結果OK,如下圖

技術分享圖片

最後, 啟動master節點的reids

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

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

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

技術分享圖片

技術分享圖片

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

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

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

root >> make test

技術分享圖片

檢查test結果OK,如下圖

技術分享圖片

最後, 啟動slave 1節點的reids

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

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

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

技術分享圖片

技術分享圖片

3.2.3 【CNT06CAH08】:啟動Redis Slave2節點

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

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

root >> make test

技術分享圖片

檢查test結果OK,如下圖

技術分享圖片

最後, 啟動slave 2節點的reids

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

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

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

技術分享圖片

技術分享圖片

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

技術分享圖片

win >> info

查詢cluster節點的信息,如下

技術分享圖片

添加一個key,如下

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

win >> dbsize # 查看key的總數

技術分享圖片

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

技術分享圖片

win >> info

查詢cluster節點的信息,如下

技術分享圖片

添加一個key,如下

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

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

win >> dbsize # 查看key的總數

技術分享圖片

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

技術分享圖片

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

技術分享圖片

四、安裝Sentinel集群

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

4.1.1 【CNT06CAH05】:配置Redis Sentinel節點

創建redis安裝目錄如下

root >> mkdir /opt/redis

技術分享圖片

通過WinSCP復制redis的壓縮文件到服務器目錄/opt/redis

技術分享圖片 s

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

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

技術分享圖片

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

技術分享圖片

因為我們要模擬三臺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

技術分享圖片

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

技術分享圖片

檢查test結果OK,如下圖

技術分享圖片

編譯redis 安裝包,如下圖

root >> make install

技術分享圖片

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

啟動 sentinel 001節點

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

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

技術分享圖片

啟動 sentinel 002節點

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

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

技術分享圖片

啟動 sentinel 003節點

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

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

技術分享圖片

技術分享圖片

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

192.168.3.47: 28339

192.168.3.47: 28439

192.168.3.47: 28539

技術分享圖片

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

Sentinel 集群安裝 step by step