說明:linux系統為centos6.4。要讓集群正常工作至少需要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
2:上傳伺服器,解壓,編譯
tar -zxvf redis-3.0.6.tar.gz
mv redis-3.0.6.tar.gz redis
cd ~/redis
make
# make install
3:建立集群需要的目錄
mkdir -p ~/cluster
cd ~/cluster
mkdir 7000 7001 7002 7003 7004 7005
4:修改配置檔案redis.conf
cp ~/redis/redis.conf ~/cluster
vi redis.conf
##修改配置檔案中的下面選項,必須在linux系統裡面修改
port 7000
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
##修改完redis.conf配置檔案中的這些配置項之後把這個配置檔案分別拷貝到7000/7001/7002/7003/7004/7005目錄下面
cp ~/cluster/redis.conf ~/cluster/7000/
cp ~/cluster/redis.conf ~/cluster/7001/
cp ~/cluster/redis.conf ~/cluster/7002/
cp ~/cluster/redis.conf ~/cluster/7003/
cp ~/cluster/redis.conf ~/cluster/7004/
cp ~/cluster/redis.conf ~/cluster/7005/
##注意:拷貝完成之後要修改7001/7002/7003/7004/7005目錄下面redis.conf檔案中的port引數,分別改為對應的資料夾的名稱
5:將~/redis/src/redis-server複製到各個節點目錄下
cp ~/redis/src/redis-server ~/cluster/7000/
cp ~/redis/src/redis-server ~/cluster/7001/
cp ~/redis/src/redis-server ~/cluster/7002/
cp ~/redis/src/redis-server ~/cluster/7003/
cp ~/redis/src/redis-server ~/cluster/7004/
cp ~/redis/src/redis-server ~/cluster/7005/
6:分別啟動這6個redis例項
cd ~/cluster/7000
redis-server redis.conf
cd ~/cluster/7001
redis-server redis.conf
cd ~/cluster/7002
redis-server redis.conf
cd ~/cluster/7003
redis-server redis.conf
cd ~/cluster/7004
redis-server redis.conf
cd ~/cluster/7005
redis-server redis.conf
~/redis-3.0.6/src/redis-server ~/redis-3.0.6/redis.conf >/dev/null 2>&1 &
##啟動之後使用命令檢視redis的啟動情況ps -ef|grep redis
7:執行redis的建立集群命令建立集群
~/redis-3.0.6/src/redis-trib.rb create --replicas 1 192.168.137.31:6379 192.168.137.32:6379 192.168.137.33:6379 192.168.137.34:6379 192.168.137.35:6379
7.1 執行上面的命令的時候會報錯,因為是執行的ruby的指令碼,需要ruby的環境
錯誤內容:/usr/bin/env: ruby: no such file or directory
所以需要安裝ruby的環境,這裡推薦使用yum install ruby安裝
【root使用者】yum install ruby
7.2 然後再執行第6步的建立集群命令,還會報錯,提示缺少rubygems元件,使用yum安裝
錯誤內容:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (loaderror)
from ./redis-trib.rb:24
【root使用者】yum install rubygems
7.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
【root使用者】gem install redis
這裡可能無法安裝,因為無法連線gem伺服器:
[@zw_22_90 src]# gem install redis --version 3.0.0
error: could not find a valid gem 'redis' (= 3.0.0) in any repository
error: while executing gem ... (gem::remotefetcher::fetcherror)
wget
gem install -l ./redis-3.2.1.gem
7.4 再次執行第6步的命令,正常執行
輸入yes,然後配置完成。
至此redis集群即搭建成功!
8:使用redis-cli命令進入集群環境
9:一般問題
(error) clusterdown the cluster is down
~/redis-3.0.6/src/redis-trib.rb fix 127.0.0.1:6379
10:注意事項:
1)不要使用回環位址127.0.0.1,dns或者hostname避免使用
2)注意data bus埠的分配,應該小於(65535 - 10000),cluster bus 埠預設是 data bus埠 + 10000。
11:生產部署情況:
1)redis cluster,5主5從,每台6個例項,每個例項8g記憶體,一台機器共使用48g,5臺就總共 240g的redis 空間使用。
2)傳統redis,一主一從,每台1個例項,每個例項8g記憶體
redis5 0 4 cluster安裝部署
注意 首先redis中不能有資料,本人是新搭建的,先有資料再邊集群的請自己動手 需要開啟redis埠和集群的匯流排埠,即redis埠號 10000,如6379則為16379 2 修改redis.conf,修改內容如下 bind 127.0.0.1 bing是指只有指定的網段或位址才能訪問該redis...
redis5 0 Cluster集群搭建
安裝redis sudo apt update sudo apt install build essential tcl cd mkdir document cd document curl o tar zxvf redis stable.tar.gz cd redis stable make ma...
Redis一鍵開啟cluster集群
可以對比一下使用原生命令安裝的cluster集群 1 安裝redis4.0的版本 5.0的版本是c語言開發的,不支援ruby語言 2 配置redis的6個節點的檔案 配置7000埠的檔案 vim redis 7000.conf port 7000 daemonize yes dir opt redi...