最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

redis搭建哨兵集群的實現(xiàn)步驟

 更新時間:2022年05月17日 15:57:27   作者:1314444  
本文主要介紹了redis搭建哨兵集群的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

redis安裝部署

環(huán)境說明:

redis使用的是6.2.6版本

主機(jī)IP系統(tǒng)
master192.168.129.136redhat8
slave192.168.182.135redhat8
slave2192.168.182.134redhat8

準(zhǔn)備工作

// 三臺主機(jī)都要做
[root@master opt] wget https://download.redis.io/releases/redis-6.2.6.tar.gz

//三臺主機(jī)都做
[root@master opt]# tar -zxf redis-6.2.6.tar.gz?

//編譯安裝
[root@master redis-6.2.6]# pwd ?//進(jìn)入redis目錄
/opt/redis-6.2.6

[root@master redis-6.2.6]# yum -y install gcc gcc-c++ ?//安裝c語言編譯器
[root@master redis-6.2.6]# yum -y install make ?//安裝make編譯器

[root@master redis-6.2.6]# make MALLOC=libc ?

配置環(huán)境變量

// redis的二進(jìn)制文件放在src目錄下
[root@master redis-6.2.6]# cat /etc/profile.d/redis.sh ? //為了能直接使用redis命令
export PATH=/opt/redis-6.2.6/src:$PATH

[root@master redis-6.2.6]# source /etc/profile.d/redis.sh ?//使其生效

//啟動redis
啟動方式有以下兩種:
[root@master redis-6.2.6]# vim redis.conf
257 daemonize yes //把no改為yes

啟動一:
[root@master src]# ./redis-server ?//不建議用這種方式啟動
[root@master redis-6.2.6]# redis-server /opt/redis-6.2.6/redis.conf ?//推薦使用這種方式

啟動二:
[root@master opt]# cat /usr/lib/systemd/system/redis.service?
[Unit]
Description=redis server daemon
After=network.target

[Service]
Type=forking
ExecStart=/opt/redis-6.2.6/src/redis-server /opt/redis-6.2.6/redis.conf
ExecStop=/bin/kill -s QUIT $MAINPID
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

[root@master opt]# systemctl daemon-reload
[root@master opt]# systemctl enable --now redis.service

[root@master opt]# ss -anlt | awk -F " ?*|:" 'NR==2{print $5}' ? //看到6379端口號說明成功
6379

進(jìn)入客戶端的命令
redis-cli -p 6379?
127.0.0.1:6379>

[root@master redis-6.2.6]# redis-cli -p 6379 shutdown ?//關(guān)閉redis服務(wù)

以上操作三臺主機(jī)都需要做

redis集群架構(gòu)

現(xiàn)在所部署的哨兵集群是基于redis主從的基礎(chǔ)上的,整體架構(gòu)如下:
一個主節(jié)點(master)可擁有多個從節(jié)點(slave),從節(jié)點實現(xiàn)對主節(jié)點的復(fù)制,保證數(shù)據(jù)同步。而哨兵(sentinel)則對各節(jié)點進(jìn)行監(jiān)控,主要包括主節(jié)點存活檢測、主從運行情況檢測等,一旦主節(jié)點宕機(jī),哨兵可自動進(jìn)行故障轉(zhuǎn)移 (failover)、主從切換。

配置redis主從

修改redis配置文件
建議在修改配置文件之前寫備份

//在master要做的事
[root@master redis-6.2.6]# mkdir logs
75 bind 192.168.129.136  //本機(jī)IP地址
94 protected-mode no  
302 logfile "/opt/redis-6.2.6/logs/redis.log"

注意replicaof指定master的IP地址和端口號,在老版本上要做的事 slaveof

//在slave2上要做的事
[root@slave2 redis-6.2.6]# vim redis.conf
75 bind 192.168.129.135 ?//本機(jī)IP
477 ? replicaof 192.168.129.136 6379 ?master的IP和端口號

//在slave2上要做的事
[root@slave2 redis-6.2.6]# vim redis.conf
75 bind 192.168.129.135 ?//本機(jī)IP
477 ? replicaof 192.168.129.136 6379 ?master的IP和端口號

注意修改完配置文件之后需要重啟redis服務(wù)才能生效

測試主從

[root@master redis-6.2.6]# redis-cli -h 192.168.129.136 -p 6379
192.168.129.136:6379> set name tom ?// 設(shè)置一個value值
OK

[root@slave ~]# redis-cli -h 192.168.129.135 ?//這里也可以不指定端口號,因為redis默認(rèn)使用的事6379端口號
192.168.129.135:6379> get name
"tom"

[root@slave2 redis-6.2.6]# redis-cli -h 192.168.129.134
192.168.129.134:6379> get name
"tom"

###主從同步成功

搭建redis哨兵集群

哨兵集群詳解:

Redis Sentinel是Redis 的高可用性解決方案由一個或多個Sentinel(哨兵)實例組成。它可以監(jiān)視任意多個主服務(wù)器,以及這些主服務(wù)器屬下的所有從服務(wù)器,并在被監(jiān)視的主服務(wù)器進(jìn)入下線狀態(tài)時,自動將下線主服務(wù)器屬下的某個從服務(wù)器升級為新的主服務(wù)器,它的主要功能如下:

  • 監(jiān)控: Sentinel會不斷地檢查你的主服務(wù)器和從服務(wù)器是否運作正常。
  • 通知:當(dāng)被監(jiān)控的某個 Redis 服務(wù)器出現(xiàn)問題時, Sentinel可以通過API向管理員或者其他應(yīng)用程序發(fā)送通知。
  • 故障遷移:當(dāng)主服務(wù)器不能正常工作時,Sentinel會自動進(jìn)行故障遷移,也就是主從切換。
  • 統(tǒng)一的配置管理:連接者詢問sentinel取得主從的地址。

哨兵集群原理

Sentinel 使用的算法核心是 Raft 算法,主要用途就是用于分布式系統(tǒng),系統(tǒng)容錯,以及Leader選舉,每個Sentinel都需要定期的執(zhí)行以下任務(wù):

  • 每個 Sentinel 會自動發(fā)現(xiàn)其他 Sentinel 和從服務(wù)器,它以每秒鐘一次的頻率向它所知的主服務(wù)器、從服務(wù)器以及其他 Sentinel 實例發(fā)送一個 PING 命令。
  • 如果一個實例(instance)距離最后一次有效回復(fù) PING 命令的時間超過 down-after-milliseconds 選項所指定的值, 那么這個實例會被 Sentinel 標(biāo)記為主觀下線。 有效回復(fù)可以是: +PONG 、 -LOADING 或者 -MASTERDOWN 。
  • 如果一個主服務(wù)器被標(biāo)記為主觀下線, 那么正在監(jiān)視這個主服務(wù)器的所有Sentinel要以每秒一次的頻率確認(rèn)主服務(wù)器的確進(jìn)入了主觀下線狀態(tài)。
  • 如果一個主服務(wù)器被標(biāo)記為主觀下線, 并且有足夠數(shù)量的Sentinel(至少要達(dá)到配置文件指定的數(shù)量)在指定的時間范圍內(nèi)同意這一判斷, 那么這個主服務(wù)器被標(biāo)記為客觀下線。
  • 在一般情況下, 每個Sentinel會以每 10 秒一次的頻率向它已知的所有主服務(wù)器和從服務(wù)器發(fā)送 INFO 命令。 當(dāng)一個主服務(wù)器被Sentinel標(biāo)記為客觀下線時,Sentinel向下線主服務(wù)器的所有從服務(wù)器發(fā)送 INFO 命令的頻率會從 10 秒一次改為每秒一次。
  • 當(dāng)沒有足夠數(shù)量的Sentinel同意主服務(wù)器已經(jīng)下線, 主服務(wù)器的客觀下線狀態(tài)就會被移除。 當(dāng)主服務(wù)器重新向Sentinel的 PING 命令返回有效回復(fù)時, 主服務(wù)器的主管下線狀態(tài)就會被移除。

哨兵集群

// 三臺主機(jī)做同樣的操作
[root@master redis-6.2.6]# vim sentinel.conf
26 daemonize yes
36 logfile "/opt/redis-6.2.6/logs/sentinel.conf"
84 sentinel monitor mymaster 192.168.129.136 6379 2

[root@master ~]# redis-sentinel /opt/redis-6.2.6/sentinel.conf //啟動哨兵

// 查看哨兵信息
[root@master ~]# redis-cli -h 192.168.129.136 -p 26379
192.168.129.136:26379> info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.129.136:6379,slaves=2,sentinels=3

[root@slave ~]# redis-cli -h 192.168.129.135 -p 26379
192.168.129.135:26379> info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.129.136:6379,slaves=2,sentinels=3


[root@slave2 ~]# redis-cli -h 192.168.129.134 -p 26379
192.168.129.134:26379> info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.129.136:6379,slaves=2,sentinels=3

模擬主機(jī)故障,進(jìn)行容災(zāi)切換

[root@master ~]# systemctl stop redis.service ?//關(guān)閉redis服務(wù)
[root@master redis-6.2.6]# ps -ef | grep redis ?//使用此命令找到sentinel進(jìn)程,然后再kill掉sentinel的進(jìn)程

//因為主機(jī)切換到了144主機(jī),因此原來主機(jī)的配置文件也會隨之更改,所以在137啟動前需要更改配置文件,將其配置成144的從機(jī):
[root@master redis-6.2.6]# vim redis.conf
477 ? replicaof 192.168.129.134 6379

[root@master redis-6.2.6]# redis-server /opt/redis-6.2.6/redis.conf //啟動redis服務(wù)
[root@master redis-6.2.6]# systemctl restart redis.service ?//也可以使用此命令啟動redis服務(wù)

[root@master redis-6.2.6]# redis-sentinel /opt/redis-6.2.6/sentinel.conf ?//啟動sentinel服務(wù)

##至此哨兵集群搭建完畢

到此這篇關(guān)于redis搭建哨兵集群的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)redis 哨兵集群內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Redis與MySQL數(shù)據(jù)一致性問題的策略模式及解決方案

    Redis與MySQL數(shù)據(jù)一致性問題的策略模式及解決方案

    開發(fā)中,一般會使用Redis緩存一些常用的熱點數(shù)據(jù)用來減少數(shù)據(jù)庫IO,提高系統(tǒng)的吞吐量,本文將給大家介紹了Redis與MySQL數(shù)據(jù)一致性問題的策略模式及解決方案,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • Redis Sentinel實現(xiàn)高可用配置的詳細(xì)步驟

    Redis Sentinel實現(xiàn)高可用配置的詳細(xì)步驟

    這篇文章主要介紹了Redis Sentinel實現(xiàn)高可用配置的詳細(xì)步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 基于Redis分布式鎖的實現(xiàn)代碼

    基于Redis分布式鎖的實現(xiàn)代碼

    這篇文章主要介紹了Redis分布式鎖的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 詳解Redis中地理位置功能Geospatial的應(yīng)用

    詳解Redis中地理位置功能Geospatial的應(yīng)用

    Geospatial?Indexes?是?Redis?提供的一種數(shù)據(jù)結(jié)構(gòu),用于存儲和查詢地理位置信息,這篇文章就來和大家詳細(xì)講講Geospatial的具體應(yīng)用吧
    2023-06-06
  • Redis List列表的詳細(xì)介紹

    Redis List列表的詳細(xì)介紹

    這篇文章主要介紹了Redis List列表的詳細(xì)介紹的相關(guān)資料,Redis列表是簡單的字符串列表,按照插入順序排序,需要的朋友可以參考下
    2017-08-08
  • Redis 數(shù)據(jù)庫忘記密碼找回或重置的解決方法

    Redis 數(shù)據(jù)庫忘記密碼找回或重置的解決方法

    對于 Redis 數(shù)據(jù)庫,如果忘記了密碼,可以通過密碼重置來找回密碼,今天通過本文給大家分享Redis 數(shù)據(jù)庫忘記密碼找回或重置的解決方法,感興趣的朋友一起看看吧
    2024-01-01
  • redis列表類型_動力節(jié)點Java學(xué)院整理

    redis列表類型_動力節(jié)點Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了redis列表類型的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • redis如何實現(xiàn)保存對象

    redis如何實現(xiàn)保存對象

    這篇文章主要介紹了redis如何實現(xiàn)保存對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Redis中LRU淘汰策略的深入分析

    Redis中LRU淘汰策略的深入分析

    這篇文章主要給大家介紹了關(guān)于Redis中LRU淘汰策略的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Redis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Redis3.2.11在centos9安裝與卸載過程詳解

    Redis3.2.11在centos9安裝與卸載過程詳解

    這篇文章主要介紹了Redis3.2.11在centos9安裝與卸載過程詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01

最新評論

靖江市| 仙桃市| 邓州市| 本溪| 西昌市| 铅山县| 安新县| 忻城县| 高密市| 榆林市| 霍林郭勒市| 中阳县| 隆回县| 潼关县| 沙河市| 平阴县| 普安县| 乌恰县| 岢岚县| 绥化市| 安泽县| 托克逊县| 定襄县| 呼玛县| 云浮市| 广州市| 天镇县| 邵阳市| 门源| 盖州市| 朔州市| 阳原县| 伽师县| 塔城市| 红桥区| 博湖县| 南江县| 夏津县| 拉孜县| 信宜市| 丽水市|