一、安裝環境及工具
l伺服器三颱:
l系統:centos6.5/)
) )))
)二、集群搭建步驟(每台伺服器均執行相同操作)
1.安裝gcc環境
安裝redis需要依託gcc環境,先檢查linux是否已經安裝了gcc,如果沒有安裝,則需要進行安裝。
執行以下命令檢查gcc是否安裝:
gcc
-v
yum install gcc-
c++
2.安裝ruby和rubygems
yuminstallruby
yuminstallrubygems
#需2.2
及以上版本
3.安裝redis(搭建集群需要版本號在3.0以上)
· 將壓縮包拷貝到linux伺服器opt目錄下,執行解壓操作
tarxzf
redis-3
.2.10.tar.gz
· 進入解壓後的目錄,進行編譯(需要root許可權)
cd redis
-3.2.10
make
&&make install
· linux下的redis可執行檔案位於src目錄下,配置檔案位於解壓目錄下,在解壓後目錄下執行如下命令啟動redis檢視是否安裝成功
./src/
redis-server redis.conf
4. 配置redis集群
· 在opt目錄下建立redis-cluster資料夾,將redis安裝目錄src下的redis-trib.rb檔案複製到redis-cluster目錄下
mkdirredis-cluster
cp ./redis-3.2.10/src/redis-trib.rb ./redis-
cluster
· 然後在redis-cluster目錄下建立以埠命名的節點資料夾7001和7002
mkdir 7001 7002
· 將redis安裝目錄下的redis.conf配置檔案及其src目錄下的redis-server拷貝到7001下
cp ../redis-3.2.10/redis.conf./7001
cp ../redis-3.2.10/src/redis-server ./7001
cp ../redis-3.2.10/redis.conf./7002
cp ../redis-3.2.10/src/redis-server ./7002
· 分別進入7001和7002目錄進行配置redis.conf,在配置檔案中找到如下屬性進行相關配置,若被注釋掉的則放開注釋按以下配置
#設定為
後台啟動
daemonize
yes#修改埠號,
分別對應7001和
7002
port
7001
#開啟cluster
cluster-enabled
yes#
超時失效key 的監聽觸發
notify-keyspace-events ex
#redis執行時儲存配置的檔案
cluster-config-file nodes.conf
#集群超時時間,結點超時多久則認為它宕機了
cluster-node-timeout 30000
#主庫下線且沒有從庫進行故障恢復時,集群不可用
cluster-require-full-coverage
yes#
是否在每次更新操作後進行日誌記錄
yes#
繫結全網ip
bind 0.0.0.0
· 寫個命令指令碼start-node.sh以便啟動節點#可
在任意目錄
下新建指令碼檔案
,方便執行即可,建議將此指令碼配置為開機自啟動
vi start-
node
.sh#編寫指令碼內容
#!/bin/bash
echo "cluster start..."
cd /opt/redis-cluster/7001
./redis-server redis.conf
cd ../7002
./redis-server redis.conf
echo "cluster started."
· 使指令碼有執行許可權,並啟動檢視
#使指令碼有執行許可權
chmodu+xstart-
node
.sh
#啟動指令碼
./start-
node
.sh
#檢視redis
程序啟動狀態
ps-ef |grepredis
5. 開啟redis集群
在所有伺服器均完成以上步驟1至4時,放可在任意伺服器上執行此步驟。
· 進入opt/redis-
cluster
目錄,執行開啟集群命令
#以下是乙個命令,需一併執行,若執行成功,則命令視窗會列出乙個
redis
給出的預設搭建方案,輸入
yes同意即可。
./redis-trib.rb create --replicas 1 10.1.34.101:7001 10.1.34.101:7002 10.1.34.102:7001 10.1.34.102:7002 10.1.34.103:7001 10.1.34.103:7002
· 客戶端連線測試,進入redis安裝目錄的src目錄下執行以下命令
#連線集群
redis-cli -h
10.1.34.101
-p 7001
-c#進行鍵值訪問測試
,若能正常訪問則開啟集群成功
setf
oo bar
get foo
至此部署結束。
三、相關錯誤及解決方案
若執行以上開啟集群命令出現ruby和rubygems相關錯誤的話,那可能是沒有安裝好ruby和rubygems,若已經安裝好了,還報類似如下錯誤
/home/cmfchina/ruby/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (loaderror)
from /home/cmfchina/ruby/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from ./redis-trib.rb:25:in `'
則是提示不能載入redis,那是因為缺少redis和ruby的介面,還需要使用gem 安裝對應的redis的rbuy界麵包redis-3.2.1.gem。
執行gem install redis-3.2.1.gem命令安裝:
geminstall redis-3.2.1.gem
若執行此命令又報類似如下錯誤
error: loading command: install (loaderror)
cannot load such
file
--zlib
error: while executing gem ... (nomethoderror)
undefined method `invoke_
with
_build_args
' for nil:nilclass
這是因為需要依賴zlib工具,需要再安裝zlib才行。安裝好後若再報openssl相關的錯誤,則需要再安裝openssl。
linux下Redis集群搭建
redis 5.0 版本後,放棄了ruby的集群方式,本次集群搭建只適用5.0以後版本 第一步 安裝redis 具體操作看這裡 第二步 複製redis配置檔案 進入local檔案,建立redis cluster檔案 cd usr local mkdir redis cluster 在redis cl...
Linux下Redis集群環境的搭建
一 安裝redis 使用redis3.0版本 1 需要gcc環境,如果沒有執行命令安裝gcc yum install gcc c 3 解壓原始碼包 tar zxvf redis 3.0.0.tar.gz4.進入解壓目錄編譯 make5.安裝redis make install prefix usr ...
linux下 redis 集群安裝 cluster
1.準備三颱機子19 20 21 安裝使用的是redis5.0.4 主從配置如下 主 192.168.66.19 6379 從 192.168.66.20 6379 主 192.168.66.20 6380 從 192.168.66.21 6380 主 192.168.66.21 6381 從 19...