天天看點

redis 高可用叢集搭建

一、redis 的集中搭建方式

1.單體架構

單獨一個redis服務

2.主從模式

 一主多從,出問題需要運維手動切換主從

3.哨兵模式

通過哨兵自動切換,存在問題:出現 master 挂了後,重新選主後可能瞬間不可用

redis 高可用叢集搭建

4.高可用叢集

redis 高可用叢集搭建

如果一個小叢集挂了後,其他小叢集依然可以使用

二.高可用叢集模式配置

1.下載下傳 redis 

官網位址:https://redis.io/

https://download.redis.io/releases/redis-6.2.5.tar.gz

下載下傳後放到 /usr/local/src

redis 高可用叢集搭建

2.解壓

cd /usr/local/src

tar -zxvf redis-6.2.5.tar.gz

3.移動redis 到 /usr/local

mv redis-6.2.5 ../

4.編譯&安裝

cd /usr/local/redis-6.2.5

make

make install

5.配置叢集

1)配置第一個節點

mkdir -p /usr/local/redis-cluster

cd  /usr/local/redis-cluster

mkdir 8001

cp /usr/local/redis-6.2.5/src/redis-server /usr/local/redis-cluster/8001

cp /usr/local/redis-6.2.5/src/redis.conf /usr/local/redis-cluster/8001

#修 改redis 配置

vim /usr/local/redis-cluster/8001/redis.conf

redis 高可用叢集搭建

配置其他節點

cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8002

cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8003

cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8004

cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8005

cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8006

注意:8001、8002、8003、8004、8005、8006 需要注意修改bind 的位址、端口資訊

可以用批量替換  :%s/8001/8003/g 格式,将 8001 批量替換成 8003

2)啟動服務确認配置檔案是否正常;

分别進入  8001、8002、8003、8004、8005、8006目錄執行

redis-server redis.conf

redis 高可用叢集搭建

如上圖,配置沒問題,可以正常啟動 

3)安裝 ruby  注意:高版本是否需要,還不确定,redis 3.0版本需要

如果安裝慢,可以考慮阿裡雲加速鏡像 

yum install ruby

yum install rubygems

gem install redis

注意:可以通過  --version 指定版本,例如:gem install redis --version 3.0.0

6.建立 redis 叢集

cd /usr/local/redis-6.2.5/src

./redis-cli --cluster create 192.168.116.129:8001 192.168.116.129:8002 192.168.116.129:8003 192.168.116.129:8004 192.168.116.129:8005 192.168.116.129:8006 --cluster-replicas 1

最後的一個1,是  master/salve 的數量, 我這裡每個小叢集是1主1從  1/1 ,是以是1,假設配置1主2從,則是1/2=0.5

redis 高可用叢集搭建

 提示是否配置,輸入 yes :

redis 高可用叢集搭建

7.驗證叢集

cd /usr/local/redis-cluster/8001

./redis-cli -c -h 192.168.116.129 -p 8001

redis 高可用叢集搭建

發現執行 set  key value 的時候,會自動切換服務區自動設定

8.檢視叢集狀态

 cluster info

redis 高可用叢集搭建

9.關閉叢集

./redis-cli -c -h 192.168.116.129 -p 8001 shutdown