centos7上的redis集群部署


首先下載redis源碼包

http://download.redis.io/releases/

我選擇的是4.0.9版本

在/home目錄下解壓

tar -zxvf  redis-4.0.9.tar.gz

cd 到/home/redis-4.0.9目錄下編譯

make報錯

 

 

 

yum安裝gcc

yum install gcc -y

再make產生新的錯誤

 

 

 執行命令

make MALLOC=libc

然后執行

make install PREFIX=/home/redis-4.0.9/redis-cluster

自動創建了redis-cluster/bin 目錄,並將一些執行文件復制到bin目錄

將redis.conf配置文件復制到redis-cluster目錄下

 

 

 在redis-cluster目錄下創建7001 7002 7003 7004 7005 7006共6個目錄

並復制配置文件redis.conf,修改

  daemonize yes #后台啟動
        port 7001 #修改端口號,從7001到7006
        cluster-enabled yes #開啟cluster,去掉注釋
        cluster-config-file nodes.conf #自動生成
        cluster-node-timeout 15000 #節點通信時間
        appendonly yes #持久化方式

 

安裝redis-trib所需的 ruby腳本

注意:centos7默認的ruby版本太低(2.0),要卸載重裝(最低2.2)

yum install centos-release-scl-rh  //會在/etc/yum.repos.d/目錄下多出一個CentOS-SCLo-scl-rh.repo源

yum install rh-ruby23  -y

scl  enable  rh-ruby23 bash //必要一步

ruby -v

gem install redis

然后,redis-trib.rb這個二進制文件就可以使用了

注意:

登錄的時候可能不能使用ruby相關命令,因此需要加載環境變量

設置登錄時自動啟動ruby

vi /etc/profile.d/rh-ruby23.sh

#!/bin/bash
scl enable rh-ruby23 bash           
export PATH=$PATH:/home/redis-4.0.9/src  

 

啟動所有的redis節點

bin/redis-server 7001/redis.conf

bin/redis-server 7002/redis.conf

bin/redis-server 7003/redis.conf

bin/redis-server 7004/redis.conf

bin/redis-server 7005/redis.conf

bin/redis-server 7006/redis.conf

 

 

 注意:這里並沒有創建集群

使用redis-trib.rb創建集群

注意:redis-trib.rb在redis/src目錄下

./redis-trib.rb create --replicas 1 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 127.0.0.1:7006

 

 

 使用create命令 --replicas 1 參數表示為每個主節點創建一個從節點,其他參數是實例的地址集合。

redis集群的測試

客戶端連接集群redis-cli需要帶上 -c ,redis-cli -c -p 端口號

根據redis-cluster的key值分配,name應該分配到節點7002[5461-10922]上,上面顯示redis cluster自動從7001跳轉到了7002節點

查看7002節點

redis-trib.rb check 127.0.0.1:7002

 

現在模擬7002節點故障

kill -9 該節點的進程號

然后再重新啟用,會發現原來的從節點變成主節點,7002主節點變成從節點

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM