您好,登錄后才能下訂單哦!
如何進行Redis 6.X Sentinel哨兵集群搭建,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
碼哥帶大家完成在 CentOS 7 中安裝 Redis 6.x 教程。在學習 Redis 之前,我們需要先搭建一套哨兵環境。機器有限,實現目標是一臺機器上搭建 6 個節點,構成一主兩從三哨兵集群模式。
可直接到 Redis 官網下載最新穩定包,地址:https://redis.io/download。或者使用 命令:sudo wget http://download.redis.io/releases/redis-6.0.9.tar.gz 下載安裝包.。
碼哥統一把軟件包放在 /opt/soft 目錄下,并創建目錄 mkdir redisSentinel。在 redisSentinel 目錄下執行 mkdir 6479 6480 6481 26379 26380 26381 6479 6480 6481分別對應 Redis 主從節點 redis.conf 配置模板。
tar -zxf redis-6.0.9.tar.gz -C redisSentinel解壓到 redisSentinel 目錄中。
在編譯之前我們需要確認 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或者重啟就會恢復到原來的gcc版本。如果要長期生效的話,執行如下 sudo echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile。
cd /opt/soft/redisSentinel/redis-6.0.9 切換到目錄執行 make 。
編譯完成使用 make install 對 redis 進行安裝 ,命令:sudo make install。
將 redis.conf 復制三份到 6479 6480 6481 目錄下,并修改配置:
# master 端口 port 6479 # 讓 Redis 可以跨網訪問 bind 172.16.90.152 # 后臺執行 daemonize yes pidfile /var/run/redis_6479.pid
主要在于端口號不同,分別是 6480、6481,并且在末尾添加 replicaof 172.16.90.152 6479
# master 端口 port 6480 # 讓 Redis 可以跨網訪問 bind 172.16.90.152 # 后臺執行 daemonize yes # 指定 masterip master port replicaof 172.16.90.152 6479
通過 redis-server 啟動主從節點。
./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
./redis-6.0.9/src/redis-cli -p 6479 info Replication
將哨兵配置文件分別復制到 sentinel26380 sentinel26381 sentinel26382,需要注意的是每個文件的端口配置以及 sentinel monitor mymaster 172.16.90.152 6479 2 中最后的數字 2,哨兵集群匯總每個節點必須一致。
分別修改這三個配置文件:
# 綁定IP bind 0.0.0.0 # 后臺運行 daemonize yes # 默認yes,沒指定密碼或者指定IP的情況下,外網無法訪問 protected-mode no # 哨兵的端口,客戶端通過這個端口來發現redis port 26380 # 這個文件會自動生成(如果同一臺服務器上啟動,注意要修改為不同的端口) pidfile /var/run/redis-sentinel-26380.pid # sentinel監控的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 監控的 master-slave 信息:
redis-cli -h 192.168.31.220 -p 26380 sentinel master mymaster SENTINEL replicas mymaster SENTINEL sentinels mymaster
redis-cli -p 6480 DEBUG sleep 30
再次檢查當前 master 地址,這次將得到不同的響應:
SENTINEL get-master-addr-by-name mymaster
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。