更多能夠參考:http://redis.io/官方網站node
要讓集羣正常工做至少須要3個主節點,在這裏咱們要建立6個redis節點,其中三個爲主節點,三個爲從節點,生產環境中可使用6臺服務器,對應的redis節點的ip和端口對應關係以下:redis
192.168.1.70:7000vim
192.168.1.70:7001ruby
192.168.1.70:7002服務器
192.168.1.70:7003app
192.168.1.70:7004網站
192.168.1.70:7005ui
1、下載redis3.net
[root@test /]# cd /usr/local/src/server
[root@test src]# wget http://download.redis.io/releases/redis-3.0.7.tar.gz
2、編譯安裝
[root@test /]# tar -zxvf redis-3.0.7.tar.gz -C /usr/local/redis-cluster
[root@test /]# mv redis-3.0.7.tar.gz redis3.0
[root@test /]# cd /usr/local/redis-cluster/redis3.0
[root@test /]# make
[root@test /]# make install
3、建立目錄
[root@test /]# cd /usr/local/redis-cluster
[root@test /]# mkdir node-7000 node-7001 node-7002 node-7003 node-7004 node-7005
4、安裝集羣
一、修改配置文件redis.conf
[root@test redis-cluster]# vim redis3.0/redis.conf
##修改配置文件中的下面選項
port 7000
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
二、拷貝redis至每一個節點
[root@test redis-cluster]# cp -r ./redis3.0/* node-7000
[root@test redis-cluster]# cp -r ./redis3.0/* node-7001
[root@test redis-cluster]# cp -r ./redis3.0/* node-7002
[root@test redis-cluster]# cp -r ./redis3.0/* node-7003
[root@test redis-cluster]# cp -r ./redis3.0/* node-7004
[root@test redis-cluster]# cp -r ./redis3.0/* node-7005
三、拷貝redis.conf至每一個節點
[root@test redis-cluster]# cp -r ./redis3.0/redis.conf node-7000
[root@test redis-cluster]# cp -r ./redis3.0/redis.conf node-7001
[root@test redis-cluster]# cp -r ./redis3.0/redis.conf node-7002
[root@test redis-cluster]# cp -r ./redis3.0/redis.conf node-7003
[root@test redis-cluster]# cp -r ./redis3.0/redis.conf node-7004
[root@test redis-cluster]# cp -r ./redis3.0/redis.conf node-7005
注意:拷貝完成以後要修改7001/7002/7003/7004/7005目錄下面redis.conf文件中的port參數,分別改成對應的端口
四、分別啓動redis
[root@test redis-cluster]# cd /usr/local/redis-cluster/node-7000
[root@test redis-cluster]# ./src/redis-server ./redis.conf
[root@test redis-cluster]# cd /usr/local/redis-cluster/node-7001
[root@test redis-cluster]# ./src/redis-server ./redis.conf
[root@test redis-cluster]# cd /usr/local/redis-cluster/node-7002
[root@test redis-cluster]# ./src/redis-server ./redis.conf
[root@test redis-cluster]# cd /usr/local/redis-cluster/node-7003
[root@test redis-cluster]# ./src/redis-server ./redis.conf
[root@test redis-cluster]# cd /usr/local/redis-cluster/node-7004
[root@test redis-cluster]# ./src/redis-server ./redis.conf
[root@test redis-cluster]# cd /usr/local/redis-cluster/node-7005
[root@test redis-cluster]# ./src/redis-server ./redis.conf
##啓動以後使用命令查看redis的啓動狀況ps -ef|grep redis
以下圖顯示則說明啓動成功
5、配置集羣
一、啓動
[root@test redis-cluster]# cd /usr/local/redis-cluster/redis3.0/src
[root@test redis-cluster]#./redis-trib.rb create --replicas 1 192.168.1.70:7000 192.168.1.70:7001 192.168.1.70:7002 192.168.1.70:7003 192.168.1.70:7004 192.168.1.70:7005
執行上面的命令的時候可能會報錯,由於是執行的ruby的腳本,須要ruby的環境
錯誤內容:/usr/bin/env:ruby: No such file or directory
因此須要安裝ruby的環境,這裏推薦使用yum install ruby安裝
[root@test redis-cluster]# yum install ruby
二、而後再執行第6步的建立集羣命令,可能還會報錯,提示缺乏rubygems組件,使用yum安裝
錯誤內容:
./redis-trib.rb:24:in `require': no suchfile to load -- rubygems (LoadError)
from./redis-trib.rb:24
[root@test redis-cluster]# yum install rubygems
三、再次執行第6步的命令,可能還會報錯,提示不能加載redis,是由於缺乏redis和ruby的接口,使用gem 安裝
錯誤內容:
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in`gem_original_require': no such file to load -- redis (LoadError)
from/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from./redis-trib.rb:25
[root@test redis-cluster]# gem install redis
四、再次執行第6步的命令,正常執行
輸入yes,而後配置完成。
至此redis集羣即搭建成功!
五、使用redis-cli命令進入集羣環境
[root@test redis-cluster]# redis-cli -c -p 7000