linux虛擬機器環境快速搭建redis5.x版本的主從叢集總結

朱季謙發表於2021-08-17

文/朱季謙

我在阿里雲伺服器上曾參與過公司redis叢集的搭建,但時間久了,都快忘記當時的搭建過程了,故而決定在虛擬機器centOS 7的環境,自行搭建一套redis5.x版本的叢集,該版本叢集的搭建比較方便,不用再像以前版本那樣還得再搞一個 Ruby,5.x版本可直接使用 redis-cli的方式來構建叢集。

提前準備六臺虛擬機器:

192.168.200.111:6379

192.168.200.112:6379

192.168.200.113:6379

192.168.200.117:6379

192.168.200.115:6379

192.168.200.116:6379

搭建之前,先ping一下各虛擬機器的網路情況,看是否可以正常ping通,若正常,則進行下一步操作。


一、將redis-5.0.8.tar.gz安裝包離線拷貝到/app目錄底下

我使用的是5.0.8版本的redis,已上傳到網盤,可直接根據下邊網盤地址進行下載——

連結:https://pan.baidu.com/s/1HUw_gAtyE7E01w0fVVmgeQ
提取碼:2r6j

下載完成後,上傳redis-5.0.8.tar.gz至/app目錄後,按步驟執行以下操作——

[root@192 app]# tar -zxvf redis-5.0.8.tar.gz 
[root@192 app]# cd redis-5.0.8
[root@192 redis-5.0.8]# make
[root@192 redis-5.0.8]# make install PREFIX=/usr/local/redis

正常執行到最後一步,會列印以下的資訊,這時,redis相關的操作指令碼,都會自動放入到/usr/local/redis目錄底下。
image


二、將redis.conf檔案複製到/usr/local/redis/bin目錄下

在解壓完成的redis-5.0.8目錄下,可以找到一個redis.conf檔案,將其通過以下命令拷貝到/usr/local/redis/bin/目錄,該檔案是配置redis的最重要檔案。

[root@192 redis-5.0.8]# cp redis.conf /usr/local/redis/bin/

image

複製到/usr/local/redis/bin/目錄後,就可以修改redis.conf的檔案配置了,我主要是修改了以下幾個引數,用於實現redis叢集節點作用——

port 6379   #埠
cluster-enabled yes #開啟叢集模式
cluster-config-file nodes.conf #節點資訊檔案
cluster-node-timeout 15000 #設定節點連線超時時間
appendonly yes #開啟AOF模式
protected-mode no #非保護模式
bind 192.168.200.111 #繫結本機ip

**以上步驟分別在六臺機器上執行,後續我會出一期指令碼方式的搭建,可直接使用指令碼在各臺機器上自動完成操作。
**


三、啟動叢集模式

首先,先在每一臺機器上啟動redis服務:

-rwxr-xr-x. 1 root root 4367616 8月  17 11:24 redis-benchmark
-rwxr-xr-x. 1 root root 8127048 8月  17 11:24 redis-check-aof
-rwxr-xr-x. 1 root root 8127048 8月  17 11:24 redis-check-rdb
-rwxr-xr-x. 1 root root 4808704 8月  17 11:24 redis-cli
-rw-r--r--. 1 root root   61793 8月  17 11:24 redis.conf
lrwxrwxrwx. 1 root root      12 8月  17 11:24 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 8127048 8月  17 11:24 redis-server
[root@192 bin]# ./redis-server redis.conf

檢查是否已經正常啟動:

[root@192 bin]# ps -ef|grep redis
root       5592      1  0 11:25 ?        00:00:00 ./redis-server 192.168.200.111:6379 [cluster]
root       5597   1215  0 11:25 pts/0    00:00:00 grep --color=auto redis

其中,有[cluster]字尾的,則顯示此節點已經成功啟動,並能作為一個叢集節點生效。

接下來,選擇其中一臺機器,進入到其/usr/local/redis/bin目錄下,直接使用./redis-cli --cluster create 192.168.200.111:6379 192.168.200.112:6379 192.168.200.113:6379 192.168.200.117:6379 192.168.200.115:6379 192.168.200.116:6379 --cluster-replicas 1 就可以開啟各節點的叢集模式,到這裡,就會發現,5.x版本以上的redis叢集開始,是不是很方便,直接一鍵開啟。

[root@192 ~]# cd /usr/local/redis/bin
[root@192 bin]# ./redis-cli --cluster create 192.168.200.111:6379 192.168.200.112:6379 192.168.200.113:6379 192.168.200.117:6379 192.168.200.115:6379 192.168.200.116:6379 --cluster-replicas 1

執行之後,可以看到列印資訊當中,自動將111,112,113三臺機器作為主機,即叢集的節點,117,115,116三臺則作為對應主機的從機,也就是主從模式。

這裡輸入yes回車——
image

正常啟動後,就可以可啟動成功的列印資訊了——
image

接下來,我們驗證一下叢集,先連線到叢集當中——這裡有幾個引數簡單介紹下,-h代表客戶端連線指定ip地址是192.168.200.111,-p代表指定埠是6379,-c即cluster縮寫,表示以叢集模式來進行連線。

[root@192 bin]# redis-cli -h 192.168.200.111 -p 6379 -c

連線成功後,我們可以檢視一下叢集節點資訊:

192.168.200.111:6379> cluster nodes

image

這裡,可以看到叢集當中主從節點的資訊。

到這一步,就初步完成了虛擬機器環境上搭建5.x版本的redis叢集了,接下來,就可以在該叢集上進行更多的學習。

相關文章