天天看點

2021-07-22Redis哨兵模式搭建(llinux環境)1、linux搭建redis哨兵模式2、安裝Redis(單機版)然後通過vmware複制多台即可3、主從複制搭建4、複制虛拟機(把上面搭建好的虛拟機克隆三份)5、搭建哨兵并測試

Redis哨兵模式搭建(llinux環境)

1、linux搭建redis哨兵模式

192.168.114.128 (主機) 端口:6379

192.168.114.129 (從機) 端口:6379

192.168.114.130 (從機) 端口:6379

192.168.114.131 (哨兵) 端口:26379

2、安裝Redis(單機版)然後通過vmware複制多台即可

在每台Liunx伺服器上安裝好redis,并測試能夠成功啟動。

1、運作wget下載下傳redis的安裝包
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
建議迅雷直接下載下傳,使用wget下載下傳速度實在是太慢了,根本連接配接不上

2、解壓安裝包
tar -zxvf redis-5.0.5.tar.gz

3、進入到解壓檔案中
cd redis-5.0.5

4、這個時候先不要先立即安裝redis
先安裝一個gcc,不然程式運作時報錯
yum install -y gcc

5、安裝LIBC
安裝libc,不然會出現緻命錯誤:jemalloc/jemalloc.h:沒有那個檔案或目錄
記住,一定要在 先cd redis-5.0.5指令,并在改目錄下目錄下安裝libc
make MALLOC=libc

6、在redis-5.0.5目錄下使用指令
make

7、進入src目錄進行安裝
cd src
進行安裝,并指定安裝目錄至/usr/local/redis
make install PREFIX=/usr/local/redis

8、建立etc檔案夾
進入安裝後的redis目錄
cd /usr/local/redis
在改目錄下建立一個檔案夾
mkdir etc

9、複制配置檔案
在剛剛解壓的安裝包内,擷取redis的配置檔案,然後将這個檔案放到/usr/local/redis/etc中
cp /home/redis-5.0.5/redis.conf /usr/local/redis/etc/

10、修改redis配置檔案
第一步:修改redis為背景啟動(如果不修改,那麼界面上就都是redis執行界面了)
cd /usr/local/redis/etc/
vim redis.conf

找到daemonize no 
可以linux 在編輯頁面舒服/ 直接輸入查找指令
/daemonize

将daemonize no改為daemonize yes

第二步:設定redis密碼
輸入查找指令 /requirepass foobared
然後去除#号,foobared替換成你的密碼。
當然了也可以直接在空白行設定密碼
例如:requirepass 123456    (每一台機器都要配置一樣的密碼,不然會出現主節點和子節點不能互通)

第三步:開啟外網通路
通過查找指令找到bind 127.0.0.1,注釋掉它
/bind 127.0.0.1
記住,如果是第一次安裝它一定是開啟的。
我們需要将它注釋掉
在改行最前面加上#即可

第四步:對所有redis服務機配置相關檔案位址(如果不配置,則會使用系統預設配置,此步驟可以跳過)
在redis.conf中搜尋pidfile,配置pid檔案,将路徑修改為:
pidfile /usr/local/redis/run/redis_6379.pid
繼續搜尋logfile,配置日志檔案(如果時第一次安裝,顯示的是logfile “”),
logfile "/usr/local/redis/logs/redis.log"
繼續搜尋dir,配置資料檔案路徑,找到dir ./,修改為
dir /usr/local/redis/dbcache/
儲存并退出

第五步:建立日志檔案,pid檔案,資料檔案夾(如果第四步選擇跳過,該步驟不需要執行)
建立日志檔案
mkdir /usr/local/redis/logs
touch /usr/local/redis/logs/redis.log
建立pid檔案
mkdir /usr/local/redis/run
touch /usr/local/redis/run/redis_6379.pid
建立資料檔案夾
mkdir /usr/local/redis/dbcache

11、啟動redis
進入redis目錄
cd /usr/local/redis/bin
輸入啟動指令,并指定配置檔案
./redis-server /usr/local/redis/etc/redis.conf
進入redis控制台
./redis-cli -h 127.0.0.1 -p 6379 -a “123456”
6379:代表你redis啟動時的端口号(該項在配置檔案中也可配置)
123456:代表你剛剛在redis配置檔案中設定的密碼

12、關于Linux的警告
啟動後會提示你,在Linux界面上輸入密碼是不安全的
不過這個沒關系,咱們不管他。

13、檢驗redis是否啟動成功
輸入指令 ping
ping
如果傳回的是pong,則啟動成功

14、測試輸入資料類型
set ceshi “123456”
使用get指令如果能成功擷取到 123456時,則成功

15、關閉redis
首先退出redis控制台
Ctrl+c
輸入指令,關閉redis
/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 -a “123456” shutdown
使用ps指令檢查背景程序
或者不退出控制台,直接shutdown
ps -ef | grep redis
發現,沒有正在運作的redis,那麼表示關閉成功

16、其他說明
如果需要被其他IP所通路,需關閉防火牆,或者開啟與redis相同的端口
臨時關閉防火牆指令
systemctl stop firewalld

開啟6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
更新防火牆規則
firewall-cmd --complete-reload
檢視目前所開放的端口
firewall-cmd --zone=public --list-ports

           

3、主從複制搭建

1、完成redis安裝後可以開始搭建主從複制

2、修改從Redis的配置檔案
vim /usr/local/redis/etc/redis.conf
使用搜尋指令搜尋replicaof
/replicaof
增加參數 replicaof [redis主機位址] [redis主機端口]
replicaof 192.168.114.128 6379
使用搜尋指令搜尋**masterauth **
/masterauth
添加從機通路redis主機通路密碼
masterauth 123456

3、對所有redis服務機配置相關檔案位址(如果不配置,則會使用系統預設配置,此步驟可以跳過)
在redis.conf中搜尋pidfile,配置pid檔案,将路徑修改為:
pidfile /usr/local/redis/run/redis_6379.pid
繼續搜尋logfile,配置日志檔案(如果時第一次安裝,顯示的是logfile “”),
logfile “/usr/local/redis/logs/redis.log”
繼續搜尋dir,配置資料檔案路徑,找到dir ./,修改為
dir /usr/local/redis/dbcache/
儲存并退出

4、建立日志檔案,pid檔案,資料檔案夾
如果第四步選擇跳過,改步驟不需要執行
建立日志檔案
mkdir /usr/local/redis/logs
touch /usr/local/redis/logs/redis.log
建立pid檔案
mkdir /usr/local/redis/run
touch /usr/local/redis/run/redis_6379.pid
建立資料檔案夾
mkdir /usr/local/redis/dbcache

5、啟動redis
進入redis目錄
cd /usr/local/redis/bin
輸入啟動指令,并指定配置檔案
./redis-server /usr/local/redis/etc/redis.conf
進入redis控制台
./redis-cli -h 127.0.0.1 -p 6379 -a “123456”
6379:代表你redis啟動時的端口号(該項在配置檔案中也可配置)
123456:代表你剛剛在redis配置檔案中設定的密碼

6、往redis主機中插入資料
在redis主機中插入資料
然後在redis從機中查找剛剛所插入的資料
如果能夠成功查到,那證明主從複制搭建成功
注:從機中是無法成功插入資料的,如果你搭建的從機可以插入資料,那證明搭建失敗。

7、關閉redis
退出redis控制台
Ctrl+c
輸入指令,關閉redis
/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 -a “123456” shutdown

或者不退出控制台,直接shutdown
使用ps指令檢查背景程序
ps -ef | grep redis
發現,沒有正在運作的redis,那麼表示關閉成功
           

4、複制虛拟機(把上面搭建好的虛拟機克隆三份)

1右擊虛拟機,選擇管理,選擇克隆、選擇完整克隆

2克隆成功後,進入指令視窗輸入 ifconfig 檢視id然後根據id命名虛拟機

5、搭建哨兵并測試

1、Redis哨兵模式配置檔案修改
此處隻需要正對哨兵的那台機子上的redis的sentinel.conf檔案做改動即可,其他主機與從機無須配置哨兵配置檔案。我這裡也就是隻需要對192.168.114.131這台機子配置哨兵配置檔案即可
進入redis壓縮封包件解壓處,我的位置在/home/redis-5.0.5
cd /home/redis-5.0.5
複制配置檔案sentinel.conf
cp /home/redis-5.0.5/sentinel.conf /usr/local/redis/etc
進入redis安裝目錄
cd /usr/local/redis/etc
編輯sentinel.conf
vim sentinel.conf

2、修改從機配置檔案sentinel.conf
搜尋daemonize,将daemonize的值從no設定為yes(設定哨兵模式為背景啟動)
daemonize yes
搜尋pidfile(pid檔案),設定值
pidfile /usr/local/redis/run/redis-sentinel.pid
搜尋logfile(日志檔案),設定值
logfile "/usr/local/redis/logs/redis-sentinel.log"
搜尋dir(工作目錄),設定值
dir /usr/local/redis/tmp
搜尋sentinel monitor mymaster,設定主機IP位址
[redis主機IP位址],[端口号],[選舉次數]
sentinel monitor mymaster 192.168.114.128 6379 1
搜尋 auth-pass,設定redis主機通路密碼
sentinel auth-pass mymaster 123456
搜尋down-after-milliseconds,心跳檢測8000毫秒,如果主機8秒内沒有相應,就會在從機開始選舉
sentinel down-after-milliseconds mymaster 8000
搜尋parallel-syncs,在執行故障轉移時, 最多可以有多少個從伺服器同時對新的主伺服器進行同步, 這個數字越小, 完成故障轉移所需的時間就越長。
sentinel parallel-syncs mymaster 1

3、建立與配置檔案所關聯的檔案及目錄
mkdir /usr/local/redis/run
touch /usr/local/redis/run/redis-sentinel.pid
touch /usr/local/redis/logs/redis-sentinel.log
mkdir /usr/local/redis/tmp

4、修改主機中的配置檔案
在主機的redis.conf配置masterauth密碼,因為當主機挂了後,再次重新開機會變成從機,無法直接變為主機。
然後,有個建意,将所有的主機與從機密碼設定最好是一緻,不然密碼不一緻的情況下可能會無法成功通路到主機。
masterauth 123456

5、啟動redis主機與從機
進入redis目錄
cd /usr/local/redis/bin
輸入啟動指令,并指定配置檔案
./redis-server /usr/local/redis/etc/redis.conf
進入redis控制台
./redis-cli -h 127.0.0.1 -p 6379 -a “123456”
6379:代表你redis啟動時的端口号(該項在配置檔案中也可配置)
123456:代表你剛剛在redis配置檔案中設定的密碼

6、啟動redis哨兵模式
進入redis目錄
cd /usr/local/redis/bin
輸入啟動指令,并指定配置檔案
./redis-server /usr/local/redis/etc/sentinel.conf --sentinel &
此時控制台會出現一個程序号,我們使用指令檢視redis程序
檢視進行是否已成功運作
ps -ef|grep redis
如果此時,存在相同的redis程序說明哨兵模式啟動成功。
也可以通過将哨兵配置檔案中的daemonize值設h為no,可以直接檢視哨兵模式是否啟動成功

7、檢視redis資訊
在IP為192.168.114.128的機器中中輸入info,檢視redis主從資訊(記得先輸入密碼  auth 密碼)
info
這個時候我們找到Replication
發現目前機器的角色為 master(主機)
從機分别為 192.168.114.129:6379與192.168.114.130:6379

8、展示選舉政策
此時我們将192.168.114.128:6379這台伺服器中的redis服務關閉
shutdown
稍等8秒至10秒
我們去 192.168.114.129:6379這台伺服器上再次查詢redis主從資訊
這個時候我們找到Replication
我們發現現在的master為192.168.114.130:6379
此時證明我們的哨兵模式搭建成功

9、啟動剛剛關閉的redis伺服器
開啟剛剛關閉的192.168.114.128:6379伺服器
稍等一會後,然後我們往192.168.114.130:6379再次檢視,redis主從資訊
這個時候我們找到Replication
此時我們發現這個時候的主機依舊是192.168.114.130:6379,是以當redis主機當機後,再次重新開機原先的主機是不會直接變為主redis的

10、關閉哨兵模式
./redis-cli -h 127.0.0.1 -p 26379 shutdown

11、其他說明
如果需要被其他IP所通路,需關閉防火牆,或者開啟與redis相同的端口
臨時關閉防火牆指令
systemctl stop firewalld

開啟26379端口
firewall-cmd --zone=public --add-port=26379/tcp --permanent
更新防火牆規則
firewall-cmd --complete-reload
檢視目前所開放的端口
firewall-cmd --zone=public --list-ports

           

繼續閱讀