Linux-Centos6.8安裝redis-4.0.10 官方叢集版

csdnmrliu發表於2018-11-01

可參考 http://www.cnblogs.com/frankdeng/p/9332618.html

1.下載安裝包

http://download.redis.io/releases/redis-4.0.10.tar.gz

wget http://download.redis.io/releases/redis-4.0.10.tar.gz

2.解壓縮

tar -zxvf redis-4.0.10.tar.gz -C /usr/local/

3.安裝redis

#cd redis解壓縮目錄
make PREFIX=/usr/local/redis-4.0.10 install

安裝完成後,在redis安裝目錄下會出現一個bin目錄,bin目錄下有幾個可執行檔案

redis-benchmark         ---效能測試工具
redis-check-aof         ---AOF檔案修復工具
redis-check-rdb         ---RDB檔案檢測工具(快照持久化檔案)
redis-cli               ---命令列客戶端
redis-sentinel -> redis-server   ---redis哨兵
redis-server            ---redis伺服器啟動命令

配置環境變數

#redis-4.0.10 settings
export REDIS_HOME=/usr/local/redis-4.0.10
export PATH=$REDIS_HOME/bin:$PATH

4.建立叢集目錄(單機多例項3主3從)

#1. cd $REDIS_HOME
cd /usr/local/redis-4.0.10
mdkir redis-cluster
mkdir 12301
mkdir 12302
mkdir 12303
mkdir 12304
mkdir 12305
mkdir 12306

5.將redis安裝目錄/usr/local/redis-4.0.10下的redis.conf檔案拷貝至12301資料夾,並修改以下配置:

daemonize yes #開啟後臺執行
port 8001 #工作埠
bind 172.16.0.13 #繫結機器的內網IP,一定要設定呀老鐵,不要用127.0.0.1,如果需要遠端訪問使用0.0.0.0
dir /usr/local/redis-4.0.10/redis-cluster/12301/ #指定工作目錄,rdb,aof持久化檔案將會放在該目錄下,不同例項一定要配置不同的工作目錄
cluster-enabled yes #啟用叢集模式
cluster-config-file nodes-12301.conf #生成的叢集配置檔名稱,叢集搭建成功後會自動生成,在工作目錄下
cluster-node-timeout 5000 #節點當機發現時間,可以理解為主節點當機後從節點升級為主節點時間
appendonly yes #開啟AOF模式
pidfile /var/run/redis_12301.pid #pid file所在目錄

6.把12301資料夾下的redis.conf檔案拷貝到其他5個目錄,並重新修改port 、dir、cluster-config-file 三個屬性

這裡可以使用sed命令快速修改

7.由於建立叢集需要用到redis-trib這個命令,它依賴Ruby和RubyGems,因此我們要先安裝一下

#版本低,可不用 解除安裝 yum remove ruby -y
yum install ruby -y
yum install rubygems -y

gem install redis時報錯https://blog.whsir.com/post-2659.html

設定ruby映象加速

至此,重新安裝

gem install redis --version 4.0.10

8.Ruby安裝完成之後,我們開始啟動6個節點

ok,6個節點都已經正常啟動。

9.開始建立叢集

建立新叢集命令:命令create,選項--replicas 1意味著我們希望每個建立的主伺服器都有一個從服 其他引數是我要用於建立新叢集的例項的地址列表。主要是分配主從和槽位數

./src/redis-trib.rb create --replicas 1 172.27.0.13:12301 172.27.0.13:12302 172.27.0.13:12303 172.27.0.13:12304 172.27.0.13:12305 172.27.0.13:12306

控制檯資訊顯示: 當前叢集中存在3個主節點和3個從節點,說明我們的叢集已經搭建成功

至此,Redis Cluster叢集就搭建完成了!

Tips :

1. 如果想重新建立叢集,需要登入到每個節點,執行flushdb,然後執行cluster reset,重啟節點;

2. 如果要批量殺掉Redis程式,可以使用pkill redis-server命令;

3. 如果redis開啟了密碼認證,則需要在redis.conf中增加屬性 : masterauth yourpassword ,並且需要修改/usr/local/share/gems/gems/redis-3.3.3/lib/redis目錄下的client.rb檔案,將password屬性設定為redis.conf中的requirepass的值,不同的作業系統client.rb的位置可能不一樣,可以使用 find / -name "client.rb"全盤查詢一下;

4. Redis開啟密碼認證後,在叢集操作時問題會比較多,因此建議不要開啟密碼認證,搭配使用防火牆保證Redis的安全。

5. 如果要批量啟動redis-cluster時,使用下面的shell指令碼

#!/bin/bash

REDIS_CLUSTER_HOME=/usr/local/redis-4.0.10/redis-cluster

redis-server ${REDIS_CLUSTER_HOME}/12301/redis.conf
redis-server ${REDIS_CLUSTER_HOME}/12302/redis.conf
redis-server ${REDIS_CLUSTER_HOME}/12303/redis.conf
redis-server ${REDIS_CLUSTER_HOME}/12304/redis.conf
redis-server ${REDIS_CLUSTER_HOME}/12305/redis.conf
redis-server ${REDIS_CLUSTER_HOME}/12306/redis.conf

#檢視redis程式
ps -ef|grep redis|grep -v grep

10.叢集測試

叢集客戶端連線方式 redis-cli  -c 

 

 

相關文章