注意:這裏使用的redis版本是5.0.3,由於從5.0.x版本開始建立cluster的方式改變了。node
本案例的環境時CentOS-7-x86_64-DVD-1810.iso安裝的虛擬機,乾淨的,無污染的。redis
進入正題:ruby
第一步,下載redis的源碼, wget http://download.redis.io/releases/redis-5.0.3.tar.gz,一般都是下載到root用戶的當前目錄下,/root;bash
第二步,解壓下載好的壓縮文件,命令:tar xzf redis-5.0.3.tar.gzapp
第三步,安裝編譯工具 sudo yum install gcc tcl,新的虛擬機沒有這些環境,須要安裝。工具
第四步,編譯安裝,make MALLOC=libc && make install,這裏make後面跟了一個參數,這也是安裝過程當中須要的,沒有會報錯。日誌
至此,第四步順利經過後,就已經編譯安裝結束。code
接下來,搭建redis的cluster環境。一樣是在這個虛擬機上搭建,環境仍是如此的乾淨。server
第一步,建立最少6個節點的目錄(爲啥最少是6個?這個是redis的cluster選舉機制決定的,詳情看redis的官網說明),我這裏是在/opt目錄下建立了cluster目錄,並建立了6個子目錄,目錄名爲端口號,分別是7001,7002,7003,7004,7005,7006ip
第二步,拷貝redis源碼目錄下的redis.conf文件到新建立的節點目錄下,就是7001...7006的目錄下;
第三步,修改每一個節點的配置文件redis.conf,修改的內容以下:
port 7000 //端口7000,7002,7003 bind 本機ip //默認ip爲127.0.0.1 須要改成其餘節點機器可訪問的ip 不然建立集羣時沒法訪問對應的端口,沒法建立集羣 daemonize yes //redis後臺運行 pidfile /var/run/redis_7000.pid //pidfile文件對應7000,7001,7002 cluster-enabled yes //開啓集羣 把註釋#去掉 cluster-config-file nodes_7000.conf //集羣的配置 配置文件首次啓動自動生成 7000,7001,7002 cluster-node-timeout 15000 //請求超時 默認15秒,可自行設置 appendonly yes //aof日誌開啓 有須要就開啓,它會每次寫操做都記錄一條日誌
這裏主要是修改cluster相關的參數設置。涉及到的pidfile以及config-file,能夠自定義指定目錄。
第四步,修改完全部配置文件後,使用命令啓動每一個節點的實例:
redis-server /opt/cluster/7001/redis.conf
依次啓動6個實例。
第五步,建立集羣,注意這裏和之前不一樣,之前使用redis-trib.rb(ruby程序)建立的,從5.0版本後直接使用redis-cli命令就能夠建立了。這裏的IP是在配置文件中bind參數後指定的ip。
redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1
執行完後,最簡單的redis cluster建立完畢。