1. 程式人生 > >Redis搭建高併發叢集-----Redis Cluster

Redis搭建高併發叢集-----Redis Cluster

伺服器:CentOS7

是偽分散式,一臺虛擬機器建立6個redis例項

1、安裝需要的依賴包

[[email protected] ~]# yum install gcc gcc-c++ kernel-devel automake autoconf libtool make wget tcl vim ruby rubygems unzip git -y

2、下載redis並安裝

[[email protected] src]# cd /usr/redis/

[[email protected] redis]# wget http://download.redis.io/releases/redis-3.0.6.tar.gz

[[email protected] redis]# tar xzf redis-3.0.6.tar.gz

[[email protected] redis]# cd redis-3.0.6

[[email protected] redis-3.0.6]# make && make install

(執行上句會出現報錯提示,不用管)

3、建立叢集需要的目錄

[[email protected] redis]mkdir -p /usr/redis/redis-cluster

[[email protected] redis]cd /usr/redis/redis-cluster

[[email protected] redis]mkdir 7000

[[email protected] redis]mkdir 7001

[[email protected] redis]mkdir 7002

[[email protected] redis]mkdir 7003

[[email protected] redis]mkdir 7004

[[email protected] redis]mkdir 7005

4、修改配置檔案redis.conf

port  7000                                                 //埠

bind 10.93.84.53                                        //預設ip為127.0.0.1 需要改為其他節點機器可訪問的ip ,如自己本機ip

daemonize    yes                                         //redis後臺執行

cluster-enabled  yes                                    //開啟叢集  把註釋#去掉

cluster-config-file  nodes_7000.conf            //叢集的配置  

cluster-node-timeout  15000                        //請求超時  預設15秒,可自行設定

appendonly  yes                                          //aof日誌開啟  有需要就開啟,它會每次寫操作都記錄一條日誌 

 

  • 修改完redis.conf配置檔案中的這些配置項之後把這個配置檔案分別拷貝到7000/7001/7002/7003/7004/7005節點目錄下
  • 拷貝完成之後要分別修改7001/7002/7003/7004/7005目錄下面redis.conf檔案中的port引數,分別改為對應的資料夾的名稱

5、分別啟動這6個redis例項

進入7000~7005目錄下一次啟動,例如進入7000,輸入如下命令進行啟動

[[email protected] 7000]# redis-server redis.conf

[[email protected] 7005]# ps -ef | grep redis      //檢視是否都啟動成功

6、建立叢集

[[email protected] src]# ./redis-trib.rb  create --replicas 1 192.168.1.78:7000 192.168.1.xx:7001 192.168.1.xx:7002 192.168.1.xx:7003 192.168.1.78:7004 192.168.1.xx:7005       

注意ip與埠號!!!!

報錯!!!!!

提示不能載入redis,是因為缺少redis和ruby的介面,使用gem 安裝

錯誤內容:

7、使用gem這個命令來安裝redis介面gem是ruby的一個工具包

[[email protected] src]# gem install redis

又報錯!!!!Ruby版本太低

8、安裝更高版本的ruby

安裝rvm,我不知道這是個什麼東西,但是感覺像是Ruby的一個包管理器。

①[[email protected] src]# curl -L get.rvm.io | bash -s stable

出現報錯提示,

②[[email protected] src]# gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

③[[email protected] src]#  curl -L get.rvm.io | bash -s stable

出現如下顯示:說明rvm安裝成功

④[[email protected] src]# source /usr/local/rvm/scripts/rvm         //source讓rvm生效可用

⑤[[email protected] src]# rvm list known               

檢視kvm版本,出現結果如下:

⑥[[email protected] src]# rvm install 2.5.1

找個高於2.2.2版本的,進行更新,出現如下顯示

9、重複第7,6步

[[email protected] src]# gem install redis

[[email protected] src]# ./redis-trib.rb  create --replicas 1 192.168.1.78:7000 192.168.1.xx:7001 192.168.1.xx:7002 192.168.1.xx:7003 192.168.1.78:7004 192.168.1.xx:7005   

出現結果如下所示:(要在redis安裝目錄的src下輸入以上命令)

10、測試叢集

測試儲存:

測試從叢集中取值: