麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據庫 > Redis > 正文

Redis Sentinel實現(xiàn)哨兵模式搭建小結

2020-03-17 12:19:21
字體:
來源:轉載
供稿:網友

Redis哨兵模式,用現(xiàn)在流行的話可以說就是一個“哨兵機器人”,給“哨兵機器人”進行相應的配置之后,這個"機器人"可以7*24小時工作,它能能夠自動幫助你做一些事情,如監(jiān)控,提醒,自動處理故障等。

Redis-sentinel簡介

Redis-sentinel是Redis的作者antirez,因為Redis集群的被各大公司使用,每個公司要寫自己的集群管理工具,于是antirez花了幾個星期寫出了Redis-sentinel。

Redis 的 Sentinel 系統(tǒng)用于管理多個 Redis 服務器(instance),Redis 的 Sentinel 為Redis提供了高可用性。使用哨兵模式創(chuàng)建一個可以不用人為干預而應對各種故障的Redis部署。

該系統(tǒng)執(zhí)行以下三個任務:

  • 監(jiān)控(Monitoring):Sentinel會不斷地檢查你的主服務器和從服務器是否允許正常。
  • 提醒(Notification):當被監(jiān)控的某個Redis服務器出現(xiàn)問題時,Sentinel可以通過API向管理員或者其他應用程序發(fā)送通知。
  • 自動故障遷移(Automatic failover): (1)當一個主服務器不能正常工作時,Sentinel會開始一次自動故障遷移操作,他會將失效主服務器的其中一個從服務器升級為新的主服務器,并讓失效主服務器的其他從服務器改為復制新的主服務器;(2)客戶端試圖連接失敗的主服務器時,集群也會向客服端返回新主服務器的地址,是的集群可以使用新主服務器代替失效服務器。

sentinel的分布式特性

Redis Sentinel 是一個分布式系統(tǒng), 你可以在一個架構中運行多個 Sentinel 進程(progress), 這些進程使用流言協(xié)議(gossip protocols)來接收關于主服務器是否下線的信息, 并使用投票協(xié)議(agreement protocols)來決定是否執(zhí)行自動故障遷移, 以及選擇哪個從服務器作為新的主服務器。

單個sentinel進程來監(jiān)控redis集群是不可靠的,當sentinel進程宕掉后(sentinel本身也有單點問題,single-point-of-failure)整個集群系統(tǒng)將無法按照預期的方式運行。所以有必要將sentinel集群,這樣有幾個好處:

  • 有一些sentinel進程宕掉了,依然可以進行redis集群的主備切換;
  • 如果只有一個sentinel進程,如果這個進程運行出錯,或者是網絡堵塞,那么將無法實現(xiàn)redis集群的主備切換(單點問題);
  • 如果有多個sentinel,redis的客戶端可以隨意地連接任意一個sentinel來獲得關于redis集群中的信息

一個健壯的部署至少需要三個哨兵實例。

三個哨兵實例應該放置在客戶使用獨立方式確認故障的計算機或虛擬機中。例如不同的物理機或不同可用區(qū)域的虛擬機?!颈敬沃v解是一個機器上進行搭建,和多級是一個道理

背景

最近項目需求,接觸到了Redis的搭建,簡單記錄下搭建過程中遇到的坑

總體配置

192.168.1.100:6379 -> master192.168.1.101:6379 -> slave192.168.1.102:6379 -> slave192.168.1.100:26379 -> sentinel192.168.1.101:26379 -> sentinel192.168.1.102:26379 -> sentinel

搭建步驟

1.安裝redis

# 解壓tar -xvf /usr/local/redis-3.2.11.tar.gzmkdir -p /usr/local/redis/bincp /usr/local/redis/src/{redis-benchmark,redis-check-aof,redis-check-rdb,redis-cli,redis-sentinel,redis-server,redis-trib.rb} /usr/local/redis/binmkdir -p /u01/redis/{6379/{log,data,pid,conf},26379/{log,data,pid,conf}# 添加環(huán)境變量echo "export PATH=/usr/local/redis/bin:$PATH" >> /etc/profilesource /etc/profile

2.redis-6379配置

redis節(jié)點配置基本如下,把如下配置分別cp到三臺虛擬機的/u01/redis/6379/conf/redis_6379.conf

bind 0.0.0.0protected-mode nodaemonize yespidfile "/u01/redis/6379/pid/redis_6379.pid"port 6379tcp-backlog 511timeout 0tcp-keepalive 0loglevel noticelogfile "/u01/redis/6379/log/redis_6379.log"databases 16stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename "dump.rdb"dir "/u01/redis/6379/data"slave-serve-stale-data yesslave-read-only yesrepl-diskless-sync norepl-diskless-sync-delay 5repl-disable-tcp-nodelay noslave-priority 100min-slaves-to-write 1min-slaves-max-lag 10appendonly noappendfilename "appendonly.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mbaof-load-truncated yeslua-time-limit 5000slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-entries 512

啟動服務

# 在三臺虛擬機上分別執(zhí)行redis-server /u01/redis/6379/conf/redis_6379.conf

建立主從關系

# 在192.168.1.101redis-cli -p 6379 SLAVEOF 192.168.1.100 6379# 在192.168.1.102redis-cli -p 6379 SLAVEOF 192.168.1.100 6379

查看Replication

192.168.1.101:6379> info replication# Replicationrole:masterconnected_slaves:2min_slaves_good_slaves:2slave0:ip=192.168.1.102,port=6379,state=online,offset=9577826,lag=1slave1:ip=192.168.1.103,port=6379,state=online,offset=9577965,lag=0master_repl_offset:9577965repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:8529390repl_backlog_histlen:1048576192.168.1.102:6379> info replication# Replicationrole:slavemaster_host:192.168.1.101master_port:6379master_link_status:upmaster_last_io_seconds_ago:0master_sync_in_progress:0slave_repl_offset:9600220slave_priority:100slave_read_only:1connected_slaves:0min_slaves_good_slaves:0master_repl_offset:0repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0192.168.1.103:6379> info replication# Replicationrole:slavemaster_host:192.168.1.101master_port:6379master_link_status:upmaster_last_io_seconds_ago:0master_sync_in_progress:0slave_repl_offset:9612675slave_priority:100slave_read_only:1connected_slaves:0min_slaves_good_slaves:0master_repl_offset:0repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0

3.sentinel-6379配置

sentinel節(jié)點配置基本如下,把如下配置分別cp到三臺虛擬機的/u01/redis/26379/conf/sentinel_26379.conf

sentinel monitor mymaster 后監(jiān)控的是redis中的master節(jié)點,也就是192.168.1.100,所以這個文件在三臺機器上是相同的

port 26379bind 0.0.0.0daemonize yesprotected-mode nodir "/u01/redis/26379/tmp"logfile "/u01/redis/26379/log/sentinel_26379.log"sentinel monitor mymaster 192.168.1.100 6379 1

等待啟動完畢后觀察/u01/redis/26379/conf/sentinel_26379.conf文件變化

查看sentinel狀態(tài)用info sentinel

redis-cli -h 192.168.1.100 -p 26379 info sentinel# Sentinelsentinel_masters:1sentinel_tilt:0sentinel_running_scripts:0sentinel_scripts_queue_length:0sentinel_simulate_failure_flags:0master0:name=zhuanche01,status=ok,address=192.168.1.100:6379,slaves=2,sentinels=3

總結

我搭建的時候遇到了192.168.1.101、192.168.1.102上的sentinel啟動后一段時間出錯的問題,后來發(fā)現(xiàn)是沒有監(jiān)控master
再就是出問題了多看log

來年要多寫筆記,年紀大了,記憶力越來越差!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Redis頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久久久久久国产视频 | 韩国一大片a毛片 | 日韩激情在线视频 | 日本中文字幕网址 | 久久亚洲精品视频 | 亚洲爱爱网站 | 国产噜噜噜噜久久久久久久久 | 成人毛片视频在线观看 | 石原莉奈日韩一区二区三区 | 精品一区二区三区在线观看视频 | 欧美日韩亚洲成人 | 91精品国产91久久久 | 国产成人自拍视频在线观看 | 欧美一级精品片在线看 | 国产1区在线 | 91精品国产日韩91久久久久久360 | 亚洲性生活视频 | 色淫网站免费视频 | 精品久久久久久久久久久下田 | 亚洲国产精品久久久久久久久 | 男女羞羞视频在线免费观看 | 91在线视频免费观看 | 久久久久久久久久久国产精品 | 亚洲第一视频 | 国产四区 | 国产成人午夜高潮毛片 | 成人在线观看污 | 亚洲第一成人在线 | 91精品国产乱码久久久久 | 黄色免费在线视频网站 | 亚洲精品 在线播放 | 牛牛a级毛片在线播放 | 精品国产乱码一区二区三区四区 | 日韩精品久久久 | 91看片在线观看视频 | 在线播放黄色片 | 国产精品久久久久久久久久东京 | 最新久久免费视频 | 爱操影视 | 欧美一级做a | 毛片视频大全 |