Redis主從複製和哨兵環境搭建

Redis主從複製和哨兵環境搭建

本文進行哨兵機制的測試,在一個單板上搭建三個Redis服務進行測試。

服務類型 是否主服務器 ip地址 端口號
Redis 10.31.35.192 6377
Redis 10.31.35.192 6378
Redis 10.31.35.192 6379
Sentinel 10.31.35.192 26377
Sentinel 10.31.35.192 26378
Sentinel 10.31.35.192 26379

首先創建三個目錄分別爲redis,redis2,redis3,每個目錄中放置redis安裝包,解壓編譯
##

配置主從複製

  1. 配置Redis主從服務器
    修改每個工程中對應的redis.conf中的port端口號爲6377,6378,6379
    例如

把Redis的6377作爲master服務器,6378,6379作爲slave服務器
6377服務不需要設置
6378和6379服務中在redis.conf中添加 slaveof 10.31.35.192 6377
啓動三個服務
./redis-server …/redis.conf
此時主從服務配置成功

通過客戶端連接redis主服務(./redis-cli -p 6377 -h 10.31.35.192),通過info replication查詢集羣狀態,可以看出該節點爲主節點,有兩個從服務節點

通過客戶端連接redis主服務(./redis-cli -p 6378 -h 10.31.35.192),通過info replication查詢集羣狀態,可以看出該節點爲從節點,且主節點爲up狀態

通過客戶端連接redis主服務(./redis-cli -p 6379 -h 10.31.35.192),通過info replication查詢集羣狀態,可以看出該節點爲從節點,且主節點爲up狀態

測試主從節點

在主節點上創建新的key,set newKey newValue,然後在從節點上進行獲取

可以看出主從複製就這麼easy的配置成功了

配置哨兵

在三個服務中sentinel.conf文件中配置sentinel monitor mymaster 10.31.35.192 6377 2
啓動sentinel服務
./redis-sentinel …/sentinel.conf

三個sentinel節點監聽的都是主節點10.31.35.192 6377
此時如果關閉掉master節點,則sentinel會重新推選出一個master節點出來
[root@host-10-31-35-192 src]# ./redis-cli -p 6378 -h 10.31.35.192

10.31.35.192:6378> info replication
role:slave
master_host:10.31.35.192
master_port:6379
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:50665
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:ac30e1ac9fe7b436a594e73b2a8c0ac1586f9c60
master_replid2:454f224815f3d5618fd51c321581476a6865ecd9
master_repl_offset:50665
second_repl_offset:4493
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:673


[root@host-10-31-35-192 src]# ./redis-cli -p 6379 -h 10.31.35.192

10.31.35.192:6379> info replication
role:master
connected_slaves:1
slave0:ip=10.31.35.192,port=6378,state=online,offset=63259,lag=1
master_replid:ac30e1ac9fe7b436a594e73b2a8c0ac1586f9c60
master_replid2:454f224815f3d5618fd51c321581476a6865ecd9
master_repl_offset:63676
second_repl_offset:4493
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:63676

可以看出6379節點被推選爲master節點
同時redis.conf由slaveof 10.31.35.192 6377修改爲replicaof 10.31.35.192 6379

sentinel切換master的整個過程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章