Linux 下的 redis集群部署文件

2021-08-20 15:14:11 字數 4226 閱讀 9240

一、安裝環境及工具

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...