redis高可用叢集搭建
阿新 • • 發佈:2020-10-22
一、安裝redis
1、安裝gcc
yum install gcc
2、把下載好的redis-5.0.2.tar.gz放在/usr/local資料夾下,並解壓
wget http://download.redis.io/releases/redis-5.0.2.tar.gz tar xzf redis-5.0.2.tar.gz cd redis-5.0.2
3、進入到解壓好的redis-5.0.2目錄下,進行編譯與安裝
make & make install
4、啟動並指定配置檔案
src/redis-server redis.conf
(注意要使用後臺啟動,所以修改redis.conf裡的daemonize改為yes)
二、開始叢集搭建
redis叢集需要至少要三個master節點,我們這裡搭建三個master節點,並且給每個master再搭建一個slave節點,總共6個redis節點,這裡用一臺機器(可以多臺機器部署,修改一下ip地址就可以了)部署6個redis例項,三主三從,搭建叢集的步驟如下:第一步:在第一臺機器的/usr/local下建立資料夾redis-cluster,然後在其下面建立6個資料夾如下:
mkdir -p /usr/local/redis-cluster mkdir 8001 8002 8003 8004 8005 8006
第二步:把之前的redis.conf配置檔案copy到8001下,修改如下內容:
1)daemonize yes
2)port 8001(分別對每個機器的埠號進行設定)
3)dir /usr/local/redis-cluster/8001/(指定資料檔案存放位置,必須要指定不同的目錄位置,不然會丟失資料)
4)cluster-enabled yes(啟動叢集模式)
5)cluster-config-file nodes-8001.conf(叢集節點資訊檔案,這裡800x最好和port對應上)
6)cluster-node-timeout 5000
-
bind 127.0.0.1(去掉bind繫結訪問ip資訊)
-
protected-mode no (關閉保護模式)
9)appendonly yes
如果要設定密碼需要增加如下配置:
10)requirepass xxx (設定redis訪問密碼)
11)masterauth xxx (設定叢集節點間訪問密碼,跟上面一致)
第三步:把修改後的配置檔案,copy到8002-8006,修改第2、3、5項裡的埠號,可以用批量替換:
%s/源字串/目的字串/g
第四步:分別啟動6個redis例項,然後檢查是否啟動成功
/usr/local/redis-5.0.2/src/redis-server /usr/local/redis-cluster/800*/redis.conf
檢視是否啟動成功
ps -ef | grep redis
第五步:用redis-cli建立整個redis叢集(redis5以前的版本叢集是依靠ruby指令碼redis-trib.rb實現)
/usr/local/redis-5.0.2/src/redis-cli --cluster create --cluster-replicas 1 192.168.232.135:8001 192.168.232.135:8002 192.168.232.135:8003 192.168.232.135:8004 192.168.232.135:8005 192.168.232.135:8006
代表為每個建立的主伺服器節點建立一個從伺服器節點
第七步:驗證叢集:
./redis-cli -c -h 192.168.5.100 -p 8001
提示:-a訪問服務端密碼,-c表示叢集模式,指定ip地址和埠號
例如:
/usr/local/redis-5.0.2/src/redis-cli -c -h 192.168.233.135 -p 8001
注意這裡進入到8002了,redirected。
2)進行驗證: cluster info(檢視叢集資訊)、cluster nodes(檢視節點列表)
3)進行資料操作驗證
4)關閉叢集則需要逐個進行關閉,使用命令:
/usr/local/redis-5.0.2/src/redis-cli -c -h 192.168.233.135 -p 8001 shutdown