<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Redis 6.X Sentinel 哨兵集群搭建

          共 3089字,需瀏覽 7分鐘

           ·

          2021-03-31 15:00

          碼哥帶大家完成在 CentOS 7 中安裝 Redis 6.x 教程。在學(xué)習(xí) Redis 之前,我們需要先搭建一套哨兵環(huán)境。機器有限,實現(xiàn)目標(biāo)是一臺機器上搭建 6 個節(jié)點,構(gòu)成一主兩從三哨兵集群模式。

          下載解壓

          可直接到 Redis 官網(wǎng)下載最新穩(wěn)定包,地址:https://redis.io/download?;蛘呤褂?命令:sudo wget http://download.redis.io/releases/redis-6.0.9.tar.gz 下載安裝包.。

          1. 碼哥統(tǒng)一把軟件包放在 /opt/soft 目錄下,并創(chuàng)建目錄 mkdir redisSentinel。在 redisSentinel 目錄下執(zhí)行 mkdir 6479 6480 6481 26379 26380 26381 6479 6480 6481分別對應(yīng) Redis 主從節(jié)點 redis.conf 配置模板。
          2. tar -zxf redis-6.0.9.tar.gz -C redisSentinel解壓到 redisSentinel 目錄中。

          make 編譯

          在編譯之前我們需要確認 gcc 版本,自 redis 6.0.0 之后,編譯 redis 需要支持 C11 特性,C11 特性在 4.9 中被引入。Centos 7 默認 gcc 版本為 4.8.5,所以需要升級gcc版本。

          否則在編譯過程中會報錯。

          解決方式

          yum -y install gcc gcc-c++ make tcl
          yum -y install centos-release-scl
          yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
          scl enable devtoolset-9 bash

          升級之后便可解決 make 報錯問題。

          注意:scl命令啟用只是臨時的,退出xshell或者重啟就會恢復(fù)到原來的gcc版本。如果要長期生效的話,執(zhí)行如下 sudo echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile。

          cd /opt/soft/redisSentinel/redis-6.0.9 切換到目錄執(zhí)行 make

          編譯完成使用 make install 對 redis 進行安裝 ,命令:sudo make install。

          主從復(fù)制

          將 redis.conf 復(fù)制三份到 6479 6480 6481 目錄下,并修改配置:

          Master

          # master 端口
          port 6479
          # 讓 Redis 可以跨網(wǎng)訪問
          bind 172.16.90.152
          # 后臺執(zhí)行
          daemonize yes
          pidfile /var/run/redis_6479.pid

          slave

          主要在于端口號不同,分別是 6480、6481,并且在末尾添加 replicaof 172.16.90.152 6479

          # master 端口
          port 6480
          # 讓 Redis 可以跨網(wǎng)訪問
          bind 172.16.90.152
          # 后臺執(zhí)行
          daemonize yes
          # 指定 masterip master port
          replicaof 172.16.90.152 6479

          分別啟動 Redis

          通過 redis-server 啟動主從節(jié)點。

          ./redis-6.0.9/src/redis-server redis-6479/redis.conf
          ./redis-6.0.9/src/redis-server redis-6480/redis.conf
          ./redis-6.0.9/src/redis-server redis-6481/redis.conf

          檢查集群狀態(tài)

          ./redis-6.0.9/src/redis-cli -p 6479 info Replication

          配置哨兵集群

          將哨兵配置文件分別復(fù)制到 sentinel26380 sentinel26381 sentinel26382,需要注意的是每個文件的端口配置以及 sentinel monitor mymaster 172.16.90.152 6479 2 中最后的數(shù)字 2,哨兵集群匯總每個節(jié)點必須一致。

          分別修改這三個配置文件:

          # 綁定IP
          bind 0.0.0.0
          # 后臺運行
          daemonize yes
          # 默認yes,沒指定密碼或者指定IP的情況下,外網(wǎng)無法訪問
          protected-mode no
          # 哨兵的端口,客戶端通過這個端口來發(fā)現(xiàn)redis
          port 26380
          # 這個文件會自動生成(如果同一臺服務(wù)器上啟動,注意要修改為不同的端口)
          pidfile /var/run/redis-sentinel-26380.pid
          # sentinel監(jiān)控的master的名字叫做mymaster,初始地址為 127.0.0.1 6380,2代表兩個及以上哨兵認定為死亡,才認為是真的死亡
          sentinel monitor mymaster 172.16.90.152 6479 2

          啟動哨兵集群

          ./redis-6.0.9/src/redis-sentinel sentinel26380/sentinel.conf
          ./redis-6.0.9/src/redis-sentinel sentinel26381/sentinel.conf
          ./redis-6.0.9/src/redis-sentinel sentinel26382/sentinel.conf

          查看 sentinel 監(jiān)控的 master-slave 信息:

          redis-cli -h 192.168.31.220 -p 26380
          sentinel master mymaster
          SENTINEL replicas mymaster
          SENTINEL sentinels mymaster

          測試故障自動轉(zhuǎn)移

          redis-cli -p 6480 DEBUG sleep 30

          再次檢查當(dāng)前 master 地址,這次將得到不同的響應(yīng):

          SENTINEL get-master-addr-by-name mymaster


          瀏覽 137
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久婷婷色香五月综合 | 青草娱乐视频在线观看 | 亚州日韩aⅴ | 九一无码视频 | www97干 |