1. 程式人生 > 實用技巧 >redis高可用叢集搭建

redis高可用叢集搭建

一、安裝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

  1. bind 127.0.0.1(去掉bind繫結訪問ip資訊)

  2. 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

轉載:https://www.jianshu.com/p/8045b92fafb2