Redis學習總結第二章--Redis 搭建高可用集羣

Redis學習總結第二章--Redis 搭建高可用集羣

redis集羣是一個由多個主從節點羣組成的分佈式服務器羣,它具有複製、高可用和分片特性。Redis集羣不需要sentinel哨兵也能完成節點移除和故障轉移的功能。需要將每個節點設置成集羣模式,這種集羣模式沒有中心節點,可水平擴展,據官方文檔稱可以線性擴展到上萬個節點(官方推薦不超過1000個節點)。redis集羣的性能和高可用性均優於之前版本的哨兵模式,且集羣配置非常簡單

 

安裝虛擬機:此步驟省略。具體可參考博主另外一篇文章《搭建centos7虛擬機》https://blog.csdn.net/qq_34042417/article/details/104121535

 

安裝好虛擬機後能夠訪問外網可以ping通www.baidu.com即可。

 

連接虛擬機:

 

redis安裝

下載地址:http://redis.io/download 安裝步驟:

# 安裝gcc yum install gcc

# 進入cd /usr/local

# 新建mkdir redis

# 進入cd redis

# 把下載好的redis-5.0.2.tar.gz放在/usr/local/lanbing文件夾下,並解壓

#wget http://download.redis.io/releases/redis-5.0.4.tar.gz

#tar xzf redis-5.0.4.tar.gz

#cd redis-5.0.4

# 進入到解壓好的redis-5.0.4目錄下,進行編譯與安裝

#make & make install

如果出現該錯誤

 

執行命令:make MALLOC=libc後再執行make & make install

#修改redis.conf裏的daemonize改爲yes)

# 啓動並指定配置文件 src/redis-server redis.conf

# 驗證啓動是否成功 ps -ef | grep redis

 

# 進入redis客戶端 /usr/local/lanbing/redis-5.0.4/src/redis-cli

# 退出客戶端 quit

# 關閉redis進程

ps -ef | grep redis

Kill -9 進程號

 

 

redis集羣搭建

redis集羣需要至少要三個master節點,我們這裏搭建三個master節點,並且給每個master再搭建一個slave節點,總共6個redis節點,這裏用三臺機器部署6個redis實例,每臺機器一主一從,搭建集羣的步驟如下:

 

第一步:在第一臺機器的/usr/local/lanbing下創建文件夾redis-cluster,然後在其下面分別創建2個文件夾如下

1.mkdir -p /usr/local/lanbing/redis-cluster

 

2.mkdir redis-cluster/8001、 mkdir redis-cluster/8004

3.把之前的redis.conf配置文件copy到8001下

4.cp redis-5.0.4/redis.conf redis-cluster/8001

5.重命名爲mv redis.conf redis-8001.conf

 

第二步修改如下內容 redis-cluster/8001/redis-8001.conf

1. daemonize yes

2. port 8001(分別對每個機器的端口號進行設置)

3. dir /usr/local/lanbing/redis-cluster/8001/(指定數據文件存放位置,必須要指定不同的目錄位置,不然會丟失數據)

4. cluster-enabled yes(啓動集羣模式)

5. cluster-config-file nodes-8001.conf(集羣節點信息文件,這裏800x最好和port對應上)(6)cluster-node-timeout 5000

6. # bind 127.0.0.1(去掉bind綁定訪問ip信息)

7. protected-mode  no   (關閉保護模式)

8. appendonly yes

如果要設置密碼需要修改如下配置:

9. requirepass lanbing     (設置redis訪問密碼)

10. masterauth lanbing      (設置集羣節點間訪問密碼,跟上面一致)

 

第三步:把修改後的配置文件,copy到8004,修改第2、3、5項裏的端口號,可以用批量

啓動進程

/usr/local/redis/redis-5.0.4/src/redis-server /usr/local/redis/redis-cluster/8001/redis.conf

/usr/local/redis/redis-5.0.4/src/redis-server /usr/local/redis/redis-cluster/8004/redis.conf

 

啓動成功,這臺機器就已安裝完畢。

克隆兩臺虛擬機

 

 

第四步:

修改第二臺虛擬機配置

#cd /usr/local/lanbing/redis-cluster

重命名文件夾mv 8001 8002mv 8004 8005

修改8002下redis-8001.conf文件重命名redis-8002.conf將8001全部改成8002

修改8005下redis-8004.conf文件重命名redis-8005.conf將8004全部改成8005

 

修改第三臺虛擬機配置

#cd /usr/local/lanbing/redis-cluster

重命名文件夾mv 8001 8003mv 8004 8006

修改8003下redis-8001.conf文件重命名redis-8003.conf將8001全部改成8003

修改8006下redis-8004.conf文件重命名redis-8006.conf將8004全部改成8006

 

第五步:分別啓動6個redis實例,然後檢查是否啓動成功 

啓動第一臺虛擬機redis01的redis:

/usr/local/lanbing/redis-5.0.4/src/redis-server /usr/local/lanbing/redis-cluster/8001/redis.conf

/usr/local/lanbing/redis-5.0.4/src/redis-server /usr/local/lanbing/redis-cluster/8004/redis.conf

 

啓動第二臺虛擬機redis02的redis:

/usr/local/lanbing/redis-5.0.4/src/redis-server /usr/local/lanbing/redis-cluster/8002/redis.conf

/usr/local/lanbing/redis-5.0.4/src/redis-server /usr/local/lanbing/redis-cluster/8005/redis.conf

 

啓動第三臺虛擬機redis03的redis:

/usr/local/lanbing/redis-5.0.4/src/redis-server /usr/local/lanbing/redis-cluster/8003/redis.conf

/usr/local/lanbing/redis-5.0.4/src/redis-server /usr/local/lanbing/redis-cluster/8006/redis.conf

 

第六步:用redis-cli創建整個redis集羣(redis5以前的版本集羣是依靠ruby腳本redis-trib.rb實現) 

/usr/local/redis-5.0.4/src/redis-cli -a lanbing --cluster create --cluster-replicas 1 192.168.0.61:8001 192.168.0.62:8002 192.168.0.63:8003 192.168.0.61:8004 192.168.0.62:8005 192.168.0.63:8006 代表爲每個創建的主服務器節點創建一個從服務器節點

 

第七步:驗證集羣:

1. 連接任意一個客戶端即可:./redis-cli -c -h -p (-a訪問服務端密碼,-c表示集羣模式,指定ip地址和端口號)如:/usr/local/lanbing/redis-5.0.4/src/redis-cli -a zhuge -c -h 192.168.0.61 -p 8002

 

 

2. 進行驗證: cluster info(查看集羣信息)、cluster nodes(查看節點列表)

 

到此爲止redis高可用集羣已經搭建好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章