Redis叢集部署詳細
Redis叢集部署文件(centos6系統)
(要讓叢集正常工作至少需要3個主節點,在這裡我們要建立6個redis節點,其中三個為主節點,三個為從節點,對應的redis節點的ip和埠對應關係如下)
127.0.0.1:7000
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
1:下載redis。官網下載3.0.0版本,之前2.幾的版本不支援叢集模式
下載地址:https://github.com/antirez/redis/archive/3.0.0-rc2.tar.gz
2:上傳伺服器,解壓,編譯
tar -zxvf redis-3.0.0-rc2.tar.gz mv redis-3.0.0-rc2.tar.gz redis3.0 cd /usr/local/redis3.0 make make install |
3:建立叢集需要的目錄
mkdir -p /usr.local/cluster cd /usr.local/cluster mkdir 7000 mkdir 7001 mkdir 7002 mkdir 7003 mkdir 7004 mkdir 7005
|
4:修改配置檔案redis.conf
cp /usr/local/redis3.0/redis.conf /usr.local/cluster vi redis.conf ##修改配置檔案中的下面選項 port 7000 daemonize yes cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes ##修改完redis.conf配置檔案中的這些配置項之後把這個配置檔案分別拷貝到7000/7001/7002/7003/7004/7005目錄下面 cp /usr/local/cluster/redis.conf /usr/local/cluster/7000 cp /usr/local/cluster/redis.conf /usr/local/cluster/7001 cp /usr/local/cluster/redis.conf /usr/local/cluster/7002 cp /usr/local/cluster/redis.conf /usr/local/cluster/7003 cp /usr/local/cluster/redis.conf /usr/local/cluster/7004 cp /usr/local/cluster/redis.conf /usr/local/cluster/7005
##注意:拷貝完成之後要修改7001/7002/7003/7004/7005目錄下面redis.conf檔案中的port引數,分別改為對應的資料夾的名稱
|
5:分別啟動這6個redis例項
cd /usr/local/cluster/7000 redis-server redis.conf cd /usr/local/cluster/7001 redis-server redis.conf cd /usr/local/cluster/7002 redis-server redis.conf cd /usr/local/cluster/7003 redis-server redis.conf cd /usr/local/cluster/7004 redis-server redis.conf cd /usr/local/cluster/7005 redis-server redis.conf
##啟動之後使用命令檢視redis的啟動情況ps -ef|grep redis 如下圖顯示則說明啟動成功
|
6:執行redis的建立叢集命令建立叢集
cd /usr/local/redis3.0/src ./redis-trib.rb create --replicas 1 127.0.0.1:7000 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 |
6.1執行上面的命令的時候會報錯,因為是執行的ruby的指令碼,需要ruby的環境
錯誤內容:/usr/bin/env: ruby: No such file or directory
所以需要安裝ruby的環境,這裡推薦使用yum install ruby安裝
yum install ruby |
6.2然後再執行第6步的建立叢集命令,還會報錯,提示缺少rubygems元件,使用yum安裝
錯誤內容:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:24
yum install rubygems |
6.3再次執行第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
gem install redis |
6.4 再次執行第6步的命令,正常執行
輸入yes,然後配置完成。
至此redis叢集即搭建成功!
7:使用redis-cli命令進入叢集環境
redis-cli -c -p 7000 |