文/朱季謙
我在阿里雲服務器上曾參與過公司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集群了,接下來,就可以在該集群上進行更多的學習。