天天看點

redis 去中心化叢集 搭建流程

最近在學習Redis叢集 搭了幾天(菜鳥) 終于搭建好了 今晚記錄一下最近搭建的過程 官方推薦搭建叢集最好是6個節點 而且是 3.0版本以上 是以我先了三台虛拟機 分别是 192.168.31.121 , 192.168.31.122 ,192.168.31.123 ,linux 系統是CentOS 7 分别在每個安裝兩個redis ,去中心化的搭建入題

 一、開端口或者是關閉防火防 我是選擇是關閉防火牆

        systemctl stop firewalld 

二、下載下傳和解壓 編譯 安裝 我的目錄是 /usr/local/software/下

下載下傳:

  wget  http://download.redis.io/releases/redis-3.2.11.tar.gz

 解壓

  tar - zxvf redis-3.2.11.tar.gz

編譯

   cd redis-3.2.11

   make

安裝

  cd src

   make install

三、 修改配置 進入 redis-3.2.11 

(1)在121 和122 以及123 機子各複制一份 

         指令 cp -r redis-3.2.11  /usr/local/software/redis-3.2.11-2

         cd  /redis-3.2.11/

 修改配置檔案vim redis.conf

###121 第一個節點 

   bind 192.168.31.121 ##本機ip 

  port 7000 

  daemonize yes ###啟動背景運作

  pidfile /var/run/redis_7000.pid ##非必須改 

  appendonly yes  

 cluster-enabled yes ##開啟叢集

 cluster-config-file nodes-7000.conf ##非必須改 隻是防止殘留舊資料 影響搭建叢集

 cluster-node-timeout 15000 ##逾時時間 5s

###121 第二個節點 

   bind 192.168.31.121 ##本機ip 

  port 7001 

  daemonize yes ###啟動背景運作

  pidfile /var/run/redis_7001.pid ##非必須改 

  appendonly yes  

 cluster-enabled yes ##開啟叢集

 cluster-config-file nodes-7001.conf ##非必須改 隻是防止殘留舊資料 影響搭建叢集

 cluster-node-timeout 15000 ##逾時時間 5s

###121 第一個節點 

   bind 192.168.31.122 ##本機ip 

  port 7002 

  daemonize yes ###啟動背景運作

  pidfile /var/run/redis_7002.pid ##非必須改 

  appendonly yes  

 cluster-enabled yes ##開啟叢集

 cluster-config-file nodes-7002.conf ##非必須改 隻是防止殘留舊資料 影響搭建叢集

 cluster-node-timeout 15000 ##逾時時間 5s

###122 第二個節點 

 bind 192.168.31.122 ##本機ip 

  port 7003 

  daemonize yes ###啟動背景運作

  pidfile /var/run/redis_7003.pid ##非必須改 

  appendonly yes  

 cluster-enabled yes ##開啟叢集

 cluster-config-file nodes-7003.conf ##非必須改 隻是防止殘留舊資料 影響搭建叢集

 cluster-node-timeout 15000 ##逾時時間 5s

###123 第一個節點 

 bind 192.168.31.123 ##本機ip 

  port 7004 

  daemonize yes ###啟動背景運作

  pidfile /var/run/redis_7004.pid ##非必須改 

  appendonly yes  

 cluster-enabled yes ##開啟叢集

 cluster-config-file nodes-7004.conf ##非必須改 隻是防止殘留舊資料 影響搭建叢集

 cluster-node-timeout 15000 ##逾時時間 5s

###123 第二個節點 

 bind 192.168.31.123 ##本機ip 

  port 7005 

  daemonize yes ###啟動背景運作

  pidfile /var/run/redis_7005.pid ##非必須改 

  appendonly yes  

 cluster-enabled yes ##開啟叢集

 cluster-config-file nodes-7005.conf ##非必須改 隻是防止殘留舊資料 影響搭建叢集

 cluster-node-timeout 15000 ##逾時時間 5s

###所有的節點配置完成 

四 啟動所有的節點 redis 進入 cd /usr/local/software/redis-3.2.11-2/src

        ./redis-server ../redis.conf  ##啟動

       ps -ef |grep redis ##檢視是啟動了

五加入叢集中 提前是要安裝對象依賴和環境  

  指令 

      yum -y install ruby ruby-devel rubygems rpm-build

      gem install redis --version 3.0.0

    ##加入叢集 任意一個節點執行 

  ./redis-trib.rb create --replicas 1 192.168.31.121:7000 192.168.31.121:7001 192.168.31.122:7002 192.168.31.122:7003 192.168.31.123:7004 192.168.31.123:7005

 然後會出現一個提示 Can I set the above configuration? (type 'yes' to accept): yes 

    輸入yes 回車 

最後顯示 

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

說明叢集成功 

然後執行以下 

     ./redis-cli -c -h 192.168.31.121  -p 7000

就可以輸入redis對應指令 

redis 去中心化叢集 搭建流程

總結:

在搭建過程中遇到很多問題 

比如 

錯誤提示是

slot插槽被占用了(這是 搭建叢集前時,以前redis的舊資料和配置資訊沒有清理幹淨。)

解決方案是

 最好是在搭建之前要清理所有的節點的資料

  用redis-cli 登入到每個節點執行 flushall 和 cluster reset 就可以了。