1. 程式人生 > >redis哨兵模式實現主從故障切換

redis哨兵模式實現主從故障切換

  大多數的應用場景是MySQL(主)+Redis(輔),MySQL做為主儲存,Redis用於快取,
加快訪問速度。需要高效能的地方使用Redis,不需要高效能的地方使用MySQL。儲存
資料在MySQL和Redis之間做同步;
server1 ,server2,server3必須先實現主從複製
Server1(master):
[[email protected] ~]# tar zxf  redis-4.0.8.tar.gz 
[[email protected] ~]# cd redis-4.0.8
[[email protected] redis-4.0.8]# yum install gcc -y
[
[email protected]
redis-4.0.8]# make [[email protected] redis-4.0.8]# make install [[email protected] edis-4.0.8]# which redis-cli /usr/local/bin/redis-cli [[email protected] utils]# cd utils/ [[email protected] utils]# ./install_server.sh Installing service... Successfully added to chkconfig! Successfully added to runlevels 345! Starting Redis server... Installation successful! [
[email protected]
utils]# netstat -antlp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 31887/redis-server [
[email protected]
redis]# vim /etc/redis/6379.conf 70 bind 0.0.0.0 [[email protected] redis]# /etc/init.d/redis_6379 stop Stopping ... Redis stopped [[email protected] redis]# /etc/init.d/redis_6379 start Starting Redis server... [[email protected] redis]# netstat -antlp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 31901/redis-server [[email protected] redis]# redis-cli 127.0.0.1:6379> set name wzt OK 127.0.0.1:6379> get name "wzt" 127.0.0.1:6379> set user1 111 OK 127.0.0.1:6379> get key (nil) 127.0.0.1:6379> get user1 "111"
Server2(slave):
[[email protected] ~]# tar zxf  redis-4.0.8.tar.gz 
[[email protected] ~]# cd redis-4.0.8
[[email protected] redis-4.0.8]# yum install gcc -y
[[email protected] redis-4.0.8]# make
[[email protected] redis-4.0.8]# make install 
[[email protected] edis-4.0.8]# which redis-cli
/usr/local/bin/redis-cli
[[email protected] utils]# cd utils/
[[email protected] utils]# ./install_server.sh

Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!

[[email protected] utils]# netstat -antlp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 127.0.0.1:6379              0.0.0.0:*                   LISTEN      31887/redis-server  

[[email protected] redis]# vim  /etc/redis/6379.conf

70 bind 0.0.0.0
283 slaveof 172.25.44.1  6379

[[email protected] utils]#  /etc/init.d/redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...
[[email protected] utils]# redis-cli   #可以同步到server1上的資料
127.0.0.1:6379> get name
"wzt"
127.0.0.1:6379> get user1
"111"
Server3(slave);
同server2

#

#檢測三臺主機是否同步
[[email protected] utils]# redis-cli 
127.0.0.1:6379> get name
"westos"
127.0.0.1:6379> exit


[[email protected] utils]# redis-cli 
127.0.0.1:6379> get name
"westos"
127.0.0.1:6379> exit

#主從自動切換
[[email protected] redis]# vim /etc/redis/sentinel.conf
 15 bind 0.0.0.0
 17 protected-mode no
 69 sentinel monitor mymaster 172.25.44.1 6379 2

 #注意:千萬不能重啟
[[email protected] redis]# scp /etc/redis/sentinel.conf  server3:/etc/redis/
sentinel.conf                                  100% 7588     7.4KB/s   00:00    
[[email protected] redis]# scp /etc/redis/sentinel.conf  server2:/etc/redis/
sentinel.conf                                  100% 7588     7.4KB/s   00:00




[[email protected] redis-4.0.8]# redis-server /etc/redis/sentinel.conf --sentinel
32244:X 11 Aug 18:21:20.565 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
32244:X 11 Aug 18:21:20.566 # Redis version=4.0.8, bits=64, commit=00000000, modified=0, pid=32244, just started
32244:X 11 Aug 18:21:20.566 # Configuration loaded
32244:X 11 Aug 18:21:20.566 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 4.0.8 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in sentinel mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 26379
 |    `-._   `._    /     _.-'    |     PID: 32244
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

32244:X 11 Aug 18:21:20.567 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
32244:X 11 Aug 18:21:20.623 # Sentinel ID is 99043549949de0b7dc7824eedb163987230986f0
32244:X 11 Aug 18:21:20.623 # +monitor master mymaster 172.25.44.1 6379 quorum 2
32244:X 11 Aug 18:21:20.624 * +slave slave 172.25.44.3:6379 172.25.44.3 6379 @ mymaster 172.25.44.1 6379
32244:X 11 Aug 18:21:20.649 * +slave slave 172.25.44.2:6379 172.25.44.2 6379 @ mymaster 172.25.44.1 6379


[[email protected] redis]# /etc/init.d/redis_6379 stop
Stopping ...
Redis stopped


6726:X 11 Aug 18:21:43.907 * +sentinel sentinel 99043549949de0b7dc7824eedb163987230986f0 172.25.44.1 26379 @ mymaster 172.25.44.1 6379
6726:X 11 Aug 18:21:52.431 * +sentinel sentinel 61c1d7df1086ff31029a47c00969d1712081e8ac 172.25.44.3 26379 @ mymaster 172.25.44.1 6379
6726:X 11 Aug 18:22:43.471 # +sdown master mymaster 172.25.44.1 6379
6726:X 11 Aug 18:22:43.524 # +odown master mymaster 172.25.44.1 6379 #quorum 3/2
6726:X 11 Aug 18:22:43.524 # +new-epoch 1



[[email protected] redis]# vim /etc/redis/6379.conf   #配置檔案的master已經改變

1310 slaveof 172.25.44.2 6379


[[email protected] redis]# /etc/init.d/redis_6379 start
Starting Redis server...



6726:X 11 Aug 18:22:45.428 * +slave slave 172.25.44.3:6379 172.25.44.3 6379 @ mymaster 172.25.44.2 6379
6726:X 11 Aug 18:22:45.428 * +slave slave 172.25.44.1:6379 172.25.44.1 6379 @ mymaster 172.25.44.2 6379

相關推薦

三:redis哨兵模式實現主從故障切換2

本篇接著上一篇進行redis哨兵的配置練習實驗,一般經典的哨兵需要3個節點(為什麼是3個節點,不是兩個節點)後面專門寫篇文章來分析這個問題. 可以再用一臺虛擬機器安裝一個redis服務,這臺虛擬機器不需要啟動例項,啟動哨兵就行,我這裡還是用兩臺機器只是測試,生

三:redis哨兵模式實現主從故障切換1

介紹 Redis Sentinel 是一個分散式系統, 你可以在一個架構中執行多個 Sentinel 程序(progress), 這些程序使用流言協議(gossip protocols)來接收關於主伺服器是否下線的資訊, 並使用投票協議(agreement

redis哨兵模式實現主從故障切換

大多數的應用場景是MySQL(主)+Redis(輔),MySQL做為主儲存,Redis用於快取, 加快訪問速度。需要高效能的地方使用Redis,不需要高效能的地方使用MySQL。儲存 資料在MySQL和Redis之間做同步; server1 ,ser

Redis 哨兵模式實現主從故障切換

介紹 Redis Sentinel 是一個分散式系統, 你可以在一個架構中執行多個 Sentinel 程序(progress), 這些程序使用流言協議(gossip protocols)來接收關於主伺服器是否下線的資訊, 並使用投票協議(agreement protocols)來決定是否執行自動故障遷移

Redis哨兵模式(sentinel)學習總結及部署記錄(主從複製、讀寫分離、主從切換

Redis的叢集方案大致有三種:1)redis cluster叢集方案;2)master/slave主從方案;3)哨兵模式來進行主

redis配置文件詳解及實現主從同步切換

redis redis主從 redis配置文件詳解及實現主從同步切換redis復制Redis復制很簡單易用,它通過配置允許slave Redis Servers或者Master Servers的復制品。接下來有幾個關於redis復制的非常重要特性:一個Master可以有多個Slaves。Slaves能

兩臺redis做主從+哨兵模式實現vip漂移

一、環境 地址 作業系統 redis埠 哨兵埠 10.24.43.6 centos6.x 6380 6381 10.24.43.7 centos6.x

Redis採用Sentinel實現主從切換

今天研究了一下Sentinel,實現了Redis的主從切換,下面簡單介紹一下。 以下是我使用的兩臺機器,沒有多餘的機器,所以把sentinel部署在了166上面,最好是三臺機器一起測試,效果會更明顯。 master:192.168.11.165 port:2

Spring Boot 入門(十):整合Redis哨兵模式實現Mybatis二級快取

本片文章續《Spring Boot 入門(九):整合Quartz定時任務》。本文主要基於redis實現了mybatis二級快取。較redis快取,mybaits自帶快取存在缺點(自行谷歌)。本文是基於docker安裝redis主從模式。 1.redis安裝 (1)首先安裝redis叢集模式,建立redis目錄

Redis哨兵模式(Sentinel)的搭建

事件 配置 切換 通過 發送消息 無法訪問 etc 一個 pub 一、Redis的哨兵模式 Sentinel是Redis官方提供的一種高可用方案(除了Sentinel,Redis Cluster是另一種方案),它可以自動監控Redis master/slave的

mysql主從故障切換

mysql主從故障切換一:環境 192.168.1.100 master 192.168.1.101 slave1 192.168.1.102 slave2 slave1,slave2都是連在master上。 二:模擬主故障 關閉master實例 service MySQL stop 此時,slave

Redis 哨兵模式Redis集群

redis第1章 Redis哨兵模式:1.1 sentinel的功能:1. 監控,sentinel會不斷的檢查你的主服務器和從服務器是否運行正常2. 提醒.當被監控的某個redis服務器出現問題時,sentinel可以通過API向管理員或者其他應用程序發送通知3. 自動故障遷移1

一圖帶你了解redis哨兵模式

http TP 技術分享 哨兵 了解 pan tps aid 百度網盤 百度網盤 https://pan.baidu.com/s/10JmcwEfCu-OKy4Yapkjxwg一圖帶你了解redis哨兵模式

redis哨兵模式安裝

  環境 centos 7.4 單機模式 將  redis-3.0.0.rar.gz 上傳到 /usr/local/src/ 進入 存放壓縮包的目錄 cd  /usr/local/src/ 對壓縮包進行解壓 tar -zxvf redis-3

6.redis哨兵模式

redis哨兵模式 Author:SimpleWu 簡介 Redis-Sentinel是官方推薦的高可用解決方案,當redis在做master-slave的高可用方案時,假如master宕機了,redis本身(以及其很多客戶端)都沒有實現自動進行主備切換,而redis-sentinel本身也是

redis哨兵模式

設定的哨兵模式和其他redis伺服器相同,只不過不能做儲存等處理哨兵也是 Redis 伺服器,只是它與我們平時提到的 Redis 伺服器職能不同,哨兵負責監視普通的 Redis 伺服器,提高一個伺服器叢集的健壯和可靠性。哨兵和普通的 Redis 伺服器所用的是同一套伺服器框架

Redis 哨兵模式的理論(轉載)

Sentinel是Redis的高可用性解決方案,本文主要介紹Sentinel的初始化過程及其與一般Redis伺服器的區別。並說明Sentinel監視伺服器的方法和原理,說明Sentinel如何判斷一個伺服器是否線上,並介紹故障轉移過程。 I、上帝視角看Sentinel

Redis 哨兵模式的原始碼(轉載)

建議閱讀: 1、Sentinel的理論部分見: I、上帝視角 1、Sentinel也是Redis伺服器,只是與普通伺服器職責不同,其負責監視Redis伺服器,以提高伺服器叢集的可靠性。Sentinel與普通伺服器共用一套框架(網路框架,底層資料結構,訂閱與釋出機制),但又

windows單機 redis哨兵模式

windos下,redis哨兵模式配置和spring boot 讀取使用:     2、下載後解壓資料夾目錄可以看到內容如下:        3、複製三個redis.windows.conf檔案,分別命

Redis 哨兵模式詳解

1、Sentinel 哨兵Sentinel(哨兵)是Redis的高可用性解決方案:由一個或多個Sentinel例項組成的Sentinel系統可以監視任意多個主伺服器,以及這些主伺服器屬下的所有從伺服器,並在被監視的主伺服器進入下線狀態時,自動將下線主伺服器屬下的某個從伺服器升