溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

配置redis主從復制、高可用集群

發(fā)布時間:2020-03-02 16:12:59 來源:網(wǎng)絡 閱讀:468 作者:九月朦朧 欄目:數(shù)據(jù)庫

一、安裝redis
首先下載redis安裝包

[root@mymaster yasuobao]# pwd
/root/yasuobao
[root@mymaster yasuobao]# wget http://download.redis.io/releases/redis-5.0.5.tar.gz

解壓
[root@mymaster yasuobao]# tar -zxvf redis-5.0.5.tar.gz
下載gcc、c
[root@mymaster yasuobao]# yum install gcc c -y
編譯

[root@mymaster yasuobao]# cd redis-5.0.5
[root@mymaster redis-5.0.5]# ls
00-RELEASENOTES  CONTRIBUTING  deps     Makefile   README.md   runtest          runtest-moduleapi  sentinel.conf  tests
BUGS             COPYING       INSTALL  MANIFESTO  redis.conf  runtest-cluster  runtest-sentinel   src            utils
[root@mymaster redis-5.0.5]# make && make install 
[root@mymaster redis-5.0.5]# make install PREFIX=/usr/local/redis

拷貝配置文件

[root@mymaster redis-5.0.5]# cp ./redis.conf /usr/local/redis/bin
[root@mymaster redis-5.0.5]# cd /usr/local/redis/bin

測試redis
[root@mymaster bin]# ./redis-server
配置redis主從復制、高可用集群
回到解壓目錄utils里

[root@mymaster bin]# cd /root/yasuobao/redis-5.0.5/utils
[root@mymaster utils]# ./install-server.sh

配置redis主從復制、高可用集群

二、redis的主從復制

注釋bind 127.0.0.1

在配置文件redis.conf中,默認的bind 接口是127.0.0.1,也就是本地回環(huán)地址。這樣的話,訪問redis服務只能通過本機的客戶端連接,而無法通過遠程連接,這樣可以避免將redis服務暴露于危險的網(wǎng)絡環(huán)境中,防止一些不安全的人隨隨便便通過遠程,但是我們做主從復制。

但是搭建主從復制,需要另一臺redis端連接到本機,所以要將其注釋。

[root@mymaster utils]# cd /etc/redis/
[root@mymaster redis]# ls
6379.conf  sentinel.conf
[root@mymaster redis]# vim 6379.conf

配置redis主從復制、高可用集群

關閉保護模式
配置redis主從復制、高可用集群

另一臺redis端(從)在其配置文件做同樣操作,并且需要指定master端ip和端口

配置redis主從復制、高可用集群
如上操作所示,已經(jīng)完成redis的主從復制,測試:在master端 set name lxc,slave查看
配置redis主從復制、高可用集群
slave:
配置redis主從復制、高可用集群

至此,完成主從復制。

三、redis的高可用

高可用原理:

自動故障遷移(Automatic failover): 當一個主服務器不能正常工作時, Sentinel 會開始一次自動故障遷移操作, 它會將失效主服務器的其中一個從服務器升級為新的主服務器, 并讓失效主服務器的其他從服務器改為復制新的主服務器; 當客戶端試圖連接失效的主服務器時, 集群也會向客戶端返回新主服務器的地址, 使得集群可以使用新主服務器代替失效服務器。

配置環(huán)境:三臺虛擬機安裝 redis 服務

mymaster:172.18.74.59
myslave:172.18.74.119
myslave02:172.18.74.87

按主從復制先配置好一主兩從
在安裝包中將 sentinel 文件復制到/etc/redis/下

[root@mymaster redis-5.0.5]# cp sentinel.conf /etc/redis/
[root@mymaster redis-5.0.5]# cd /etc/redis/
[root@mymaster redis]# ls
6379.conf  sentinel.conf

關閉保護模式
[root@mymaster redis]# vim sentinel.conf
配置redis主從復制、高可用集群

配置指示 Sentinel 去監(jiān)視一個名為 mymaster 的主服務器,這個主服務器的IP 地址為 172.18.74.59,端口號為 6379 ,而將這個主服務器判斷為失效至少需要 2 個 Sentinel 同意(只要同意 Sentinel 的數(shù)量不達標,自動故障遷移就不會執(zhí)行)

配置redis主從復制、高可用集群

down-after-milliseconds 選項指定了 Sentinel 認為服務器已經(jīng)斷線所需的毫秒數(shù)。如果服務器在給定的毫秒數(shù)之內, 沒有返回 Sentinel 發(fā)送的 PING 命令的回復, 或返回一個錯誤, 那么 Sentinel 將這個服務器標記為主觀下線

配置redis主從復制、高可用集群

完成后將 sentinel 配置文件發(fā)送 兩個從節(jié)點

scp  /etc/redis/sentinel.conf 172.18.74.119:/etc/redis/
scp  /etc/redis/sentinel.conf 172.18.74.87:/etc/redis/

把redis命令加入環(huán)境變量
export PATH=$PATH:/usr/local/redis/bin
刷新profile
source /etc/profile

三臺服務器按主從順序啟動reids

redis-server /etc/reids/6379.conf
redis-sentinel /etc/redis/sentinel.conf &

mymaster
配置redis主從復制、高可用集群

myslave
配置redis主從復制、高可用集群

myslave02

配置redis主從復制、高可用集群

然后在查看mymaster
配置redis主從復制、高可用集群
會發(fā)現(xiàn)多了幾條信息
+slave 表示 :一個新的從服務器已經(jīng)被 Sentinel 識別并關聯(lián)??梢钥吹狡藭r master 是 172.18.74.59;172.18.74.119 和 172.18.74.87 是 slave。
測試:master 端 和slave端 info 查看 replication 信息:
mymaster
配置redis主從復制、高可用集群
下拉

配置redis主從復制、高可用集群

myslave

配置redis主從復制、高可用集群

myslave02

配置redis主從復制、高可用集群

然后把mymaster的redis的相關服務關閉
配置redis主從復制、高可用集群

在myslave上看到有提示信息,把自己變?yōu)閙aster把原來的master變?yōu)閟lave
配置redis主從復制、高可用集群
+switch-master :配置變更,主服務器的 IP 和地址已經(jīng)改變。
+sdown :給定的實例 mymaster現(xiàn)在處于主觀下線狀態(tài)。
查看一下,myslave的info
配置redis主從復制、高可用集群
可以看到主已經(jīng)切換了,如此便實現(xiàn)了高可用

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI