導航:首頁 > 程序命令 > redis哨兵命令

redis哨兵命令

發布時間:2023-08-19 16:28:52

1. Linux下安裝配置redis詳細教程,並配置哨兵模式

redis版本為redis-3.2.12,使用工具將安裝包上傳到data目錄。

在data目錄下創建文件夾redis,將redis安裝在此目錄。

第一步:解壓

第二步:安裝,PREFIX=/data/redis用來設置安裝目錄。

到此,redis已經安裝完成,剩下就是配置和啟動服務。

進入redis目錄, 創建配置文件conf、日誌logs、資料庫mp、進程號pid四個目錄,用來存放對應的文件,這四個目錄也可以存放在其他文件夾,只要與配置文件中的配置一致即可,否則在啟動服務時會報錯。 其中bin目錄就是redis安裝成功後的一些命令文件。

redis服務配置一主二從,哨兵模式。注意:如果在實際開發中用不到哨兵模式,redis服務配置一主一從即可。

主Redis配置:redis_6379.conf

從Redis配置,redis_6380.conf和redis_6381.conf,與主Redis配置基本上一樣,不一樣的地方在於 埠、資料庫、日誌、pid文件名稱 ,都以6380或6381為標志, 最重要的地方是建立主從關系和同步驗證。

注意: 對只使用redis服務 ,只需要在主Redis裡面配置requirepass,在從Redis裡面配置masterauth,密碼保持一致,密碼盡可能復雜,以免被攻擊破解。

注意: 對只使用redis服務 ,如果從Redis也有必要加入訪問驗證,也可以設置requirepass,而且密碼可以與主Redis密碼不同。

將配置文件放置到/data/redis/conf目錄下,然後就可以啟動服務了。

啟動服務要按照主從順序依次啟動。

查看服務啟動情況:

也可以通過查看日誌文件來確認服務是否正常啟動。

通過客戶端登錄Redis驗證數據同步情況:

主Redis登錄驗證,設置數據:

從Redis登錄,獲取數據:從Redis並沒有設置密碼,所以無需驗證就可以操作。

配置哨兵模式:

Redis Sentinel集群通常由3到5個節點組成,如果個別節點掛了,集群還可以正常運作。Sentinel負責監控Redis集群的 健康 情況。

如果主Redis掛掉,Sentinel集群會通過投票選擇一個新的主Redis。 當原來的主Redis恢復時,它會被當做新的主Redis的從Redis重新加入Redis集群。

設置連接master和slave的密碼,需要注意的是sentinel不能分別為master和slave設置不同的密碼,因此master和slave的密碼必須設置相同。也就是說主Redis和從Redis都必須設置requirepass和masterauth,而且密碼必須相同。

sentinel.conf配置信息:

將該配置文件放置到/data/redis/conf目錄下,啟動sentinel服務:

驗證sentinel是否起作用,可以手工shutdown掉主Redis。

這時從Redis想要訪問主Redis同步數據就會提示錯誤信息:

sentinel在監測到主Redis宕機之後,通過選舉,將一個從Redis選定為新的主Redis。通過查看sentinel日誌可以發現,選定6380為新的主Redis,同時將另外兩個Redis作為從Redis。

注意:選定6380為主Redis後,所有的配置文件都會被修改,主要是重新建立主從關系。

6379會新增:slaveof 127.0.0.1 6380

6380會刪掉:slaveof 127.0.0.1 6379

6381會修改:slaveof 127.0.0.1 6380

由於6379服務已經關掉,所以雖然sentinel將6379作為6380的從服務,但是沒有真正的建立。

重新啟動6379服務,這時sentinel會重建建立一次主從關系:

2. Redis 學習總結(3) Redis 哨兵模式

在實際開發中不會僅僅部署一個 Redis 伺服器,為了獲得高可用,Redis 哨兵模式 則是高可用的一種選擇。

本文先介紹下 哨兵模式,再介紹了如何在 springboot 項目中使用。

這意味著使用 Sentinel (哨兵模式),您可以創建一個 Redis 部署,它可抵抗某些類型的故障(進行故障遷移)而無需人工干預。

它有這些功能:

Sentinel 的分布式特性
Redis Sentinel 是一個分布式系統,多個 Sentinel 進程協同工作,有這些優勢:

部署前需要了解:

三個節點的基本配置

法定人數和仲裁
在配置 哨兵模式時,要指定一個 quorum,它可理解為「法定人數」。
假設有3 個 哨兵,法定人數為2。那麼:

哨兵和副本的自動發現
Sentinel 與其他 Sentinel 保持連接,以便相互檢查彼此的可用性並交換消息。

但是,您不需要在您運行的每個 Sentinel 實例中配置其他 Sentinel 地址的列表,因為 Sentinel 使用 Redis 實例的 Pub/Sub 功能來發現正在監視相同主節點和副本的其他 Sentinel。

類似地,您不需要配置附加到主伺服器的副本地址在哪裡,因為 Sentinel 會通過查詢 Redis 自動發現它們。

參考我的另一篇文章:

一般需要三個節點,每個節點有一個 redis 和一個哨兵。

下面再分別描述。

我這里按三個 節點,先配置 redis 的主從復制。1個節點作為 master ,2個副本。

配置節點1:master
這里的 redis 作為 master 主redis,其他兩個節點作為從節點。
我的文件夾名字叫 box1,這里編輯一個 box1/redis.conf 文件,主要配置內容如下:

配置節點2:副本
編輯一個 box2/redis.conf 文件,主要配置內容如下:

配置節點3:副本
編輯一個 box3/redis.conf 文件,主要配置內容如下:

分別啟動這三個redis
命令行執行 redis-server ,並指定 配置文件的路徑參數。

如何查看「主從復制」是否配置成功?
使用 info replication 命令,操作如下:

副本節點設置為只讀?
從 Redis 2.6 開始,副本已被默認設置為 只讀,無需額外配置。.

一般情況下,至少會需要三個哨兵對redis 進行監控,我們可以通過修改埠啟動多個sentinel 服務。

第一個哨兵:
哨兵的 默認埠是 26379 ,這里不改。

第二個哨兵:
修改哨兵埠。

第三個哨兵:
修改哨兵埠。

啟動哨兵
使用 redis-sentinel 命令,分別啟動這三個哨兵

哨兵的自動發現
當三個哨兵都啟動後,在各個哨兵的列印日誌里可以看到, 三個哨兵已互相發現了彼此的存在 。

至此,配置完畢了,我們有三個 redis,和三個哨兵,看下截圖。

模擬 master 宕機
按 ctrl+c 停止 master ,其位於 6379 。停止後,從日誌可以看到,哨兵和 redis副本先努力繼續連接 6379,反復幾次失敗後,開始選舉出新的 master。截圖如下:

至此,配置完畢。

我們看下 springboot 項目的客戶端如何配置 以訪問 哨兵模式的 redis。

Redis 哨兵支持
對於處理高可用Redis,Spring Data Redis 已經支持Redis Sentinel,使用RedisSentinelConfiguration,如下例所示:

Jedis 和 Lettuce 兩種 redis 驅動都可以支持。

RedisSentinelConfiguration 也可以用可以 通過 PropertySource 來設置,它允許您設置以下屬性:

配置application.yml

比如我這里修改我的 application.yml 文件如下:

我的配置文件示例: https://github.com/vir56k/java_demo/tree/master/redis-sentinel
我的 springboot 配置實例: https://github.com/vir56k/java_demo/tree/master/redis-sentinel/springboot_redis_demo

Redis官網 sentinel 介紹
https://redis.io/topics/sentinel

spring-data/data-redis
https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#redis:sentinel

https://www.cnblogs.com/jaycekon/p/6237562.html

END

閱讀全文

與redis哨兵命令相關的資料

熱點內容
線程javalock 瀏覽:890
c語言編譯運行結果查看器 瀏覽:108
androidpx轉dip 瀏覽:837
西藏編譯局是什麼級別 瀏覽:997
php提交代碼 瀏覽:595
如何用命令查找並刪除代碼塊 瀏覽:578
python初學路線圖 瀏覽:531
matlab遺傳演算法旅行商問題 瀏覽:300
將辦公軟體加入加密軟體的進程 瀏覽:722
聯想小新pro14編譯器 瀏覽:460
為什麼伺服器要關掉icmp協議 瀏覽:853
源碼編輯器如何設置難度 瀏覽:353
給pdf加目錄 瀏覽:476
加密軟體怎麼改安全問題 瀏覽:552
cmd命令ip 瀏覽:946
python輸出單引號雙引號 瀏覽:272
腳本編程管理命令 瀏覽:379
小愛音箱pro怎麼自己裝app 瀏覽:118
建立ftp文件夾命令 瀏覽:571
sha1withrsa演算法 瀏覽:453