文/朱季謙
我在阿里雲服務器上曾參與過公司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目錄底下。
二、將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/
複製到/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回車——
正常啓動後,就可以可啓動成功的打印信息了——
接下來,我們驗證一下集羣,先連接到集羣當中——這裏有幾個參數簡單介紹下,-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
這裏,可以看到集羣當中主從節點的信息。
到這一步,就初步完成了虛擬機環境上搭建5.x版本的redis集羣了,接下來,就可以在該集羣上進行更多的學習。