一、redis 的集中搭建方式
1.單體架構
單獨一個redis服務
2.主從模式
一主多從,出問題需要運維手動切換主從
3.哨兵模式
通過哨兵自動切換,存在問題:出現 master 挂了後,重新選主後可能瞬間不可用

4.高可用叢集
如果一個小叢集挂了後,其他小叢集依然可以使用
二.高可用叢集模式配置
1.下載下傳 redis
官網位址:https://redis.io/
https://download.redis.io/releases/redis-6.2.5.tar.gz
下載下傳後放到 /usr/local/src
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
配置其他節點
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
如上圖,配置沒問題,可以正常啟動
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
提示是否配置,輸入 yes :
7.驗證叢集
cd /usr/local/redis-cluster/8001
./redis-cli -c -h 192.168.116.129 -p 8001
發現執行 set key value 的時候,會自動切換服務區自動設定
8.檢視叢集狀态
cluster info
9.關閉叢集
./redis-cli -c -h 192.168.116.129 -p 8001 shutdown