配置redis三主三从
主從環(huán)境
centos7.6
redis4.0.1
| 192.168.181.139:6379 | 192.168.181.136:6379 |
| 192.168.181.136:6380 | 192.168.181.137:6380 |
| 192.168.181.137:6381 | 192.168.181.139:6381 |
集群實(shí)例配置
這里展示192.168.181.139:6379節(jié)點(diǎn)的,其他配置修改ip、端口號(hào)和文件名
bind 192.168.181.139 port 6379 pidfile /var/run/redis-master-6379.pid logfile "/data/logs/redis/redis-master-6379.log" dbfilename dump-master-6379.rdb dir "/data/redis" appendonly yes appendfilename "appendonly-master-6379.aof" aof-use-rdb-preamble yes cluster-enabled yes cluster-config-file nodes-master-6379.conf cluster-node-timeout 10000啟動(dòng)實(shí)例
完成各個(gè)實(shí)例啟動(dòng),該過程略,自行完成實(shí)例啟動(dòng)
配置三主三從
配置過程有兩種方法,第一個(gè)是手動(dòng)配置,第二個(gè)是采用redis-trib.rb工具配置,這先用手動(dòng)配置。集群配置過程分為節(jié)點(diǎn)握手和數(shù)據(jù)槽分配以及主從關(guān)系配置三個(gè)操作構(gòu)成。
手動(dòng)配置三主三從
以下操作在192.168.181.139主機(jī)上完成,集群信息共享,所以只用一個(gè)節(jié)點(diǎn)操作即可
節(jié)點(diǎn)握手
# 實(shí)例發(fā)現(xiàn) redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.139 6379 redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.139 6381 redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.136 6380 redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.136 6379 redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.137 6381 redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.137 6380**數(shù)據(jù)槽分配*
# 分配數(shù)據(jù)槽 for i in {0..5400}; do redis-cli -h 192.168.181.139 -p 6379 cluster addslots $i; done > /dev/null for i in {5401..11000}; do redis-cli -h 192.168.181.136 -p 6380 cluster addslots $i; done > /dev/null for i in {11001..16383}; do redis-cli -h 192.168.181.137 -p 6381 cluster addslots $i; done > /dev/null到這一步,一個(gè)三主的redis集群已經(jīng)搭建起來了,接下來配置主從關(guān)系,注意,盡量不要讓一對(duì)主從關(guān)系出現(xiàn)在同一個(gè)系統(tǒng)上,避免系統(tǒng)故障帶來損失
配置集群主從關(guān)系是通過實(shí)例ID的來配置的,實(shí)例ID是唯一性的,查看集群節(jié)點(diǎn),注意查看節(jié)點(diǎn)ID,接下來配置主從關(guān)系需要用到
配置主從關(guān)系
# 192.168.181.136:6379作為4bf34e9120d54a4d3d609fdea3cf5613787f0d2d(192.168.181.139:6379)的從實(shí)例,以下類似 redis-cli -h 192.168.181.136 -p 6379 cluster replicate 4bf34e9120d54a4d3d609fdea3cf5613787f0d2d redis-cli -h 192.168.181.137 -p 6380 cluster replicate 0b03d2098d7cb7e10d540747eed9b2804c424d18 redis-cli -h 192.168.181.139 -p 6381 cluster replicate f0e6d8f9d84209623613dd48a00c8c263b5ecc88到這一步,集群配置完成,可以用以下命令分別查看主從狀態(tài)和集群信息
# 主從狀態(tài) redis-cli -h 192.168.181.139 -p 6379 cluster nodes # 集群信息 redis-cli -h 192.168.181.139 -p 6379 cluster info使用redis-trib.rb創(chuàng)建集群
該工具在redis安裝后的src目錄,對(duì)應(yīng)配置redis集群非常方便,需要安裝ruby(version>2.2)環(huán)境
本次實(shí)驗(yàn)在centos7.6,但自帶的ruby2.0版本低于要求,需要手動(dòng)安裝ruby
安裝ruby
# 安裝rvm # 通過gpg2導(dǎo)入密鑰 gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import - https://rvm.io/mpapis.asc | gpg2 --import - curl -L get.rvm.io | bash -s stable source /usr/local/rvm/scripts/rvmrvm常見操作
# 查看rvm庫中已知的ruby版本 rvm list known # 安裝一個(gè)ruby版本 rvm install 2.3.3 # 使用一個(gè)ruby版本 rvm use 2.3.3 # 設(shè)置默認(rèn)版本 rvm use 2.3.3 --default # 卸載一個(gè)已知版本 rvm remove 2.0.0 # 安裝redis,這一步很關(guān)鍵 gem install redis到這一步已經(jīng)可以使用redis-trib.rb配置集群了
使用redis-trib.rb create命令完成節(jié)點(diǎn)握手和槽分配過程
注意:指定 主從節(jié)點(diǎn)時(shí),前三個(gè)為主節(jié)點(diǎn);后三個(gè)為對(duì)應(yīng)從節(jié)點(diǎn)
轉(zhuǎn)載于:https://www.cnblogs.com/AutoSmart/p/10429423.html
總結(jié)
以上是生活随笔為你收集整理的配置redis三主三从的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql如何查看使用的配置_mysql
- 下一篇: .Net DES加密解密(不带向量)