echo編輯整理,歡迎轉載,轉載請聲明文章來源。歡迎添加echo微信(微信號:t2421499075)交流學習。 百戰不敗,依不自稱常勝,百敗不頹,依能奮力前行。——這纔是真正的堪稱強大!!!redis
搭建Redis集羣以前請準備好3臺已經安裝好Redis的服務器,CentOS7下安裝Redis請閱讀:https://blog.csdn.net/xlecho/article/details/102975520算法
slaveof 192.168.222.135 6379
# 注意,若是你的節點設置了密碼訪問,你須要配置下面這個配置
masterauth master密碼複製代碼
這裏沒有將slave設置成爲‘只讀’,若是實際生產環境若是不設置這個集羣就會出現重大問題。安全
service redis start複製代碼
# 啓動redis
redis-server redis.conf
# 鏈接redis
redis-cli -h 192.168.222.135 -p 6379
# 查看狀態
info replication複製代碼
配置若是成功咱們能夠看到以下信息:服務器
退出集羣比較簡單,能夠直接刪除掉上面的配置,也能夠執行如下命令微信
slaveof no one複製代碼
看到這個信息咱們就已經完成了咱們的主從配置。可是什麼是哨兵模式?哨兵模式是基於咱們集羣的,咱們有了集羣以後,咱們就要來配置咱們的哨兵模式了併發
哨兵模式英文名Sentinel,它是爲了解決Redis集羣的高可用應運而生的。Redis集羣,通常來講只會有一個master服務,當master掛掉以後,之能手動切換master就會形成一段時間內的服務不可用。sentinel就是專門針對這種狀況而產生的一個監聽服務。它主要負責監聽咱們一個組內全部Redis,當咱們的master掛掉以後,它就會根據Raft算法進行選舉一臺新的leader出來,而後將選舉出來的leader當成咱們的master。性能
哨兵模式的主要做用就是監控弄Redis集羣,因此咱們搭建哨兵模式以前要確認咱們的Redis集羣已經成功搭建了。哨兵模式的搭建其實也相對比較簡單,只須要配置主節點監控便可。學習
# 找到redis根目錄下面的sentinel.conf的配置文件,修改以下配置
daemonize yes
port 26379
protected-mode no
dir /usr/local/redis/redis-5.0.1/sentinel-tmp
sentinel monitor mymaster 192.168.222.135 6379 2
sentinel auth-pass mymaster 48835a9c-7a5a-4ec8-af6a-80af3e87b194
# 若是哨兵3s內沒有收到主節點的心跳,哨兵就認爲主節點宕機了,默認是30秒
sentinel down-after-milliseconds mymaster 3000
# 若是10秒後,master仍沒活過來,則啓動failover,默認180s
sentinel failover-timeout mymaster 10000複製代碼
# 啓動redis服務
redis-server redis.conf
# 啓動sentinel
redis-sentinel sentinel.conf複製代碼
模擬以前確保咱們的redis、sentinel服務都啓動了,登陸master,直接在master上面進行shutdown。操做完成以後等待一會,而後使用登陸咱們的從服務器,鏈接上從服務的redis以後,咱們使用命令info replication 查看當前節點是否成爲了masterspa
這是因爲咱們的下面兩行配置的位置放反了引發的。正確順序按照下面的順序便可.net
sentinel monitor mymaster 192.168.222.135 6379 2
sentinel auth-pass mymaster 48835a9c-7a5a-4ec8-af6a-80af3e87b194複製代碼
作一個有底線的博客主