天天看點

centos7.2下使用 redis 5.0搭建叢集 redis-cluster1.redis安裝與編譯2.叢集搭建

1.redis安裝與編譯

# 下載下傳,解壓,編譯redis
$ wget http://download.redis.io/releases/redis-5.0.0.tar.gz
$ tar xzf redis-5.0.0.tar.gz
# 進入到解壓目錄 
$ cd redis-5.0.0
$ make
# 進入到redis-5.0.0/src 目錄下運作  
$ make install  
           

編譯後結果如下:

centos7.2下使用 redis 5.0搭建叢集 redis-cluster1.redis安裝與編譯2.叢集搭建

#在redis檔案夾下建立etc和bin目錄,将redis.conf拷貝到 etc下,常用的5個指令移動到bin目錄下

centos7.2下使用 redis 5.0搭建叢集 redis-cluster1.redis安裝與編譯2.叢集搭建
#啟動redis ,啟動之前編輯redis.conf 檔案将 daemonize選項 改為yes (背景啟動)

$ bin/redis-server  etc/redis.conf

#驗證啟動是否成功

$ ps-ef |grep redis
           
centos7.2下使用 redis 5.0搭建叢集 redis-cluster1.redis安裝與編譯2.叢集搭建
#退出redis服務 
$ Kill 程序号 或   pkill redis-server 
           

2.叢集搭建

redis叢集至少需要2N+1個master節點(3個),在這裡我們搭建三個master節點,并且為每一個master再挂一個slave節點,總共6個節點.我們在這裡采用一台機器上建立6個redis執行個體,并将它們配置成叢集模式,搭建一個僞叢集,與真正的分布式配置方法幾乎一樣,搭建步驟如下:

2.1  在usr/local/下 建立檔案夾 redis-cluster  ,在redis-cluster下建立 8001,8002,8003,8004,8005,8006檔案夾
centos7.2下使用 redis 5.0搭建叢集 redis-cluster1.redis安裝與編譯2.叢集搭建

  2.2 将redis.conf拷貝至redis-cluster下的8001檔案夾下,修改配置檔案

  1. Daemonize  yes
  2. Port 8001 (分别對每個機器的端口還進行設定)
  3. Bind 192.168.1.102 (必須綁定目前機器的ip,友善叢集定位機器,不綁定可能會出現循環查找節點及其的情況)
  4. Dir  /usr/local/redis-cluster/8001/ (指定資料檔案存放位置,必須指定不同的目錄位置,否則可能丢失資料)
  5. Cluster-enable yes(啟動叢集模式)
  6. Cluster-config-file  nodes-8001.conf  (800x與前面的端口号對應上)
  7. Cluster-node-timeout 5000
  8. Appendonly  yes (開啟aof模式)

2.3 将8001下的redis.conf配置檔案分别拷貝到剩餘的5個檔案下

2.4 将8002 8003 8004 8005 8006 下的配置檔案的 b,d,f 項進行相應修改,可在vim使用批量替換指令

:%s/源字元串/目的字元串/g
           

2.5 分别啟動6個執行個體

centos7.2下使用 redis 5.0搭建叢集 redis-cluster1.redis安裝與編譯2.叢集搭建

使用 ps -ef |grep redis檢視狀态

centos7.2下使用 redis 5.0搭建叢集 redis-cluster1.redis安裝與編譯2.叢集搭建

2.6 建立redis叢集(redis5.0使用redis-cli),5.0以下版本見下文

./redis-cli --cluster create 192.168.1.102:8001 192.168.1.102:8002 192.168.1.102:8003 
192.168.1.102:8004 192.168.1.102:8005 192.168.1.102:8006 --cluster -replicas 1
           
centos7.2下使用 redis 5.0搭建叢集 redis-cluster1.redis安裝與編譯2.叢集搭建

在最後的replicas 1 指的是 主節點與從節點數的比例值.表示 master/slave=1

輸入yes之後可以看到 :

centos7.2下使用 redis 5.0搭建叢集 redis-cluster1.redis安裝與編譯2.叢集搭建

2.7 搭建完畢,開始驗證

  1. 連接配接任意一個用戶端 : ./redis-cli -c -h -p (-c表示叢集模式)

如: /usr/local/redis/bin/redis-cli -c -h 192.168.1.102 -p 8001

    2.進行驗證: cluster info(檢視叢集資訊),cluster nodes(檢視節點清單)

centos7.2下使用 redis 5.0搭建叢集 redis-cluster1.redis安裝與編譯2.叢集搭建

3.

  1. 資料操作驗證,可以看到叢集是輪流向叢集中存入資料,取出資料時會自動重定向   
  2. 關閉叢集需要逐個關閉:    /usr/local/redis/bin/redis-cli -c -h 192.168.1.102 -p 8001 shutdown

分布式redis叢集

2.7 redis5.0以下的版本 搭建方法

  • 由于redis叢集需要使用ruby指令,是以需要安裝ruby( redis5.0使用redis-cli建立叢集,是以不需此步驟
$ yum install ruby
$ yum install rubygems
$ gem install redis –version X.X.X(安裝redis和ruby的接口)
           

在redis/src下 使用redis-trib.rb指令建立叢集

centos7.2下使用 redis 5.0搭建叢集 redis-cluster1.redis安裝與編譯2.叢集搭建

建立完成,分别啟動6個執行個體,步驟同上.

繼續閱讀