redis主從,哨兵集群

2022-09-14 14:36:21 字數 2903 閱讀 4774

準備工作:

本文用的linux為centos6.5,redis為5.0.9在兩台伺服器

redis安裝請看

redis版本:5.0.9

主:172.16.38.225:26379   ,sentinel:26380

主:172.16.38.226:26379   ,sentinel:26380

redis支援主從同步。資料可以從主伺服器向任意數量的從伺服器上同步,同步使用的是發布/訂閱機制。

mater sl**e的模式,從sl**e向master發起sync命令。

可以是1 master 多sl**e,可以分層,sl**e下可以再接sl**e,可擴充套件成樹狀結構。

配置非常簡單,只需在sl**e的設定檔案中指定master的ip和port

master為225,sl**e為226

在sl**e的redis.conf修改以下

bind 0.0.0.0

protected-mode no

port 26379

masterauth "123456"

requirepass "123456"

sl**eof 172.16.38.225 26379 2

也可以用命令列設定:

在226那台上機執行命令

redis 127.0.0.1:26379> sl**eof 172.16.38.225  26379

master:

127.0.0.1:26379>info replication

# replication

role:master

connected_sl**es:1sl**e0:ip=172.16.38.225,port=26379,state=online,offset=309,lag=1

sl**e:

127.0.0.1:26379>info replication

# replication

role:sl**e

master_host:172.16.38.225

master_port:26379master_link_status:up master_last_io_seconds_ago:7master_sync_in_progress:0sl**e_repl_offset:365sl**e_priority:100sl**e_read_only:1connected_sl**es:0master_repl_offset:0repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0

說明兩邊的redis是主從關係,在master裡執行命令set mylove fu ;在sl**e裡執行命令 get mylove;就會輸出fu;

因redis自己本來不能自己自動主從切換。此時需要sentinel哨兵來實現自動切換功能

在兩台機的sentinel.conf配置如下

port 26380daemonize yes

sentinel monitor mymaster 172.16.38.226 26379 1sentinel auth-pass mymaster 123456pidfile "/var/run/redis-sentinel.pid"logfile ""dir "/tmp"sentinel myid b8f2d588b37248b6adcd063914b470d3d2777899

sentinel deny-scripts-reconfig yes

sentinel config-epoch mymaster 114sentinel leader-epoch mymaster 114

protected-mode no

sentinel current-epoch 114sentinel known-replica mymaster 172.16.38.225 6380sentinel known-replica mymaster 172.16.38.225 26379sentinel known-sentinel mymaster 172.16.38.225 26380 8a34a71fab3e4cf6ce69d6854df9e651911a1e9a

或者直接在複製/usr/local/redis/redis-5.0.9/sentinel.conf到/usr/local/redis/bin中主

主要修改以下幾個地方即可

port 26380daemonize yes

sentinel monitor mymaster 172.16.38.226 26379 2sentinel auth-pass mymaster 123456

master和sl**e都配置好,分別啟動sentinel

./redis-sentinel sentinel.conf
啟動之後,分別在主從伺服器上登入sentinel伺服器,執行命令: info sentinel .看到status=ok就是正常的.如下圖

在master主伺服器關掉redis

命令:shutdown

然後在sl**e從伺服器檢視redis的角色

大功告成,花了不少時間在這配置及測試。越努力越幸運。。。

本文參考:

redis主從哨兵配置

今天看到redis主從複製,以及哨兵,自己實際操作了一波,下面是本次的配置以及遇到的一些坑 本次配置了一主二從,三個哨兵,伺服器linux,版本centos sentinel monitor mymaster 192.160 1.79 6379 2 2一般設定為哨兵節點的一半 1,有3個哨兵,所以我...

redis主從 哨兵模式

主從模式配置分為手動和配置檔案兩種方式進行配置,我現在有192.168.238.128 centos1 192.168.238.131 centos3 192.168.238.132 centos4 幾台機器,只是配置檔案的配置方式是降手動配置的命令放在配置檔案中而已,本質是一致的。下面將對配置檔案...

Redis 哨兵集群

redis核心技術與實戰 08 哨兵掛了,還能監測主庫狀態,保證服務不間斷嗎?多個例項組成哨兵集群,即使乙個哨兵掛掉了,其他哨兵也可以繼續協作完成主從庫切換的工作,包括判定主庫是不是處於下線狀態,選擇新主庫,以及通知從庫和客戶端。在配置哨兵的資訊時,我們只需要用到下面的這個配置項,設定主庫的 ip ...