天天看點

Redis-5.0.2三主三從叢集搭建手冊

  • 準備工作:
    • redis-5.0.2.tar.gz,下載下傳位址:https://download.redis.io/releases/
    • linux伺服器三台,要求網絡互通
  • 将redis上傳至/home/tmp目錄下,使用tar -zxvf edis-5.0.2.tar.gz,解壓完畢後cd redis-5.0.2 ,執行make,三台機器都按照這個步驟執行
  • 準備配置檔案,在/home/tmp 目錄下建立redis-config目錄,在redis-config目錄下建立6800與6801兩個檔案夾,在6800與6801檔案夾下使用vim redis-6800.conf,配置檔案内容如下
#開啟redis背景啟動
daemonize yes
#redis端口
port 6800
#資料存放位置
dir /home/tmp/redis-config/6800/
#啟用叢集模式
cluster-enabled yes
#叢集節點逾時時間毫秒
cluster-node-timeout 5000
#關閉保護模式
protected-mode no
#redis通路密碼
requirepass test1234
#叢集間通路密碼同上
masterauth test1234
#開啟aof
appendonly yes
#aof配置檔案
appendfilename "appendonly.aof"
           
  • 6801也要按照這個格式配置,注意:需要修改的位置有端口号,資料存放位置
  • 編寫一個啟動腳本,vim startRedis.sh,内容如下,使用時直接./startRedis.sh即可,記得要賦予可執行權限chmod +x startRedis.sh
#!/bin/bash
echo "------------------1.redis啟動腳本開始執行"
echo "------------------2.檢視redis程序是否存在"
PROC_NAME=redis-5.0.2
PROCESS=`ps -ef|grep -w $PROC_NAME |grep -v grep| wc -l`
echo $PROCESS
if [ 0 == $PROCESS ];then
    echo "------------------3.redis程序不存在"
    echo "------------------4.開始啟動6800"
    /home/tmp/redis-5.0.2/src/redis-server  /home/tmp/redis-config/6800/redis-6800.conf
    echo "------------------5.開始啟動6801"
    /home/tmp/redis-5.0.2/src/redis-server  /home/tmp/redis-config/6801/redis-6801.conf
else
    echo "------------------3.redis程序存在,請在執行關閉腳本------------------"
fi
           
  • 停止腳本,vim stopRedis.sh,與上方一樣賦予執行權限
#!/bin/bash
echo "------------------1.redis停止腳本開始執行"
echo "------------------2.檢視redis程序是否存在"
PROCESS=`ps -ef|grep redis-5.0.2 |grep -v grep|grep -v PPID|awk '{ print $2}'`
for i in $PROCESS
do
  echo "------------------3.開始kill程序[ $i ]"
  kill -9 $i
done
           
  • 按照上述步驟将三台伺服器上的六台redis服務全部啟動後,開始配置叢集,redis 5.0已經需要使用ruby腳本啟動,5.0以後可以使用redis本身的 cluster create建立,具體指令如下,需要修改的地方有 -a後的密碼,為你redis叢集配置的密碼,ip位址為你三台伺服器的ip位址,如果使用雲伺服器記得要打開redis叢集之間通信的端口,端口為redis服務+10000;
/home/tmp/redis-5.0.2/src/redis-cli -a test1234--cluster create 127.0.0.1:6800 127.0.0.1:6801 127.0.0.2:6800 127.0.0.2:6801 127.0.0.3:6800 127.0.0.3:6801 --cluster-replicas 1
           
  • 建立成功後開始測試,在tmp目錄下執行./redis-5.0.2/src/redis-cli -c -a test1234 127.0.0.1 -p 6800 進傳入連結接狀态 執行cluster info 檢視叢集資訊,執行cluster nodes檢視叢集内節點資訊
  • 在任意一台機器set name ''1234",在另外一台get name 檢視是否可以正常擷取值
  • 當機測試,停掉任意一台伺服器,檢視擷取資料是否正常

繼續閱讀