首頁  >  文章  >  資料庫  >  redis複製叢集如何搭建

redis複製叢集如何搭建

王林
王林轉載
2023-06-03 08:03:491244瀏覽

環境準備

1、基於centos7系統的伺服器(或雲端伺服器);

#2、redis 安裝套件

建置過程

由於資源限制,本篇將在一台伺服器上搭建,透過不同的連接埠號碼進行區分;

1、上傳redis安裝套件到指定目錄下(並解壓縮)

redis複製叢集如何搭建

2、在目前目錄下,建立三個目錄

在目前目錄,分別建立7001,7002,7003 三個檔案目錄

redis複製叢集如何搭建

3、將redis解壓縮套件下的redis.conf設定檔分別拷貝到三個目錄下

redis複製叢集如何搭建

4、修改每個設定檔的預設連接埠號,資料儲存目錄

#可以使用sed指令進行批次替換修改

sed -i -e 's/6379/7001/g' -e 's/dir .\//dir \/tmp\/7001\//g' 7001/redis.conf
sed -i -e 's/6379/7002/g' -e 's/dir .\//dir \/tmp\/7002\//g' 7002/redis.conf
sed -i -e 's/6379/7003/g' -e 's/dir .\//dir \/tmp\/7003\//g' 7003/redis.conf

redis複製叢集如何搭建

 修改完畢後,我們不妨任意查看一個設定文件,

redis複製叢集如何搭建

#5、修改每個實例的宣告IP

虛擬機本身存在多個IP,為了避免將來混亂,需要在redis.conf檔中指定每一個實例的綁定ip訊息,格式如下:

##replica-announce -ip 目前IP

仍然可以使用批次修改的方式進行編輯

sed -i '1a replica-announce-ip 当前IP' 7001/redis.conf
sed -i '1a replica-announce-ip 当前IP' 7002/redis.conf
sed -i '1a replica-announce-ip 当前IP' 7003/redis.conf

redis複製叢集如何搭建

#修改完畢,可以透過下面的指令確認下

redis複製叢集如何搭建

以上設定檔的修改基本上就完成了

#6、叢集啟動

分別啟動3個實例,啟動程序如下:

7001實例:

redis複製叢集如何搭建

7002實例:

redis複製叢集如何搭建

7003實例:

redis複製叢集如何搭建

#如果要一鍵停止,可以執行下方指令:

printf '%s\n' 7001 7002 7003 | xargs -I{} -t redis-cli -p {} shutdown

7、配置3個實例之間的主從關係

上面啟動了3個實例,但是他們之間還並沒有形成主從關係,要配置主從可以使用replicaof 或slaveof(5.0以前)指令。

有臨時和永久兩種模式:

  • 修改設定檔(永久生效),在redis.conf中新增一行設定: slaveof ;

  • 使用redis-cli客戶端連線至redis服務,執行slaveof指令(重啟後失效): slaveof ;

這裡為了示範看出效果,我們採用第二種方式來說明,透過redis-cli指令連接7002,執行下面的指令:

redis-cli -p 7002

redis複製叢集如何搭建

然後執行如下命令

SLAVEOF 127.0.0.1 7001

執行完成上面命令的瞬間可以看到7001和7002兩個實例控制台的輸出訊息,看得出7002完成了對7001的連接以及資料同步 

redis複製叢集如何搭建

使用相同的方式連接7003客戶端,並執行上面的動作

redis複製叢集如何搭建##連接7001客戶端,執行info指令查看下叢集訊息,看到下面的信息,說明叢集建置成功

redis複製叢集如何搭建

8、叢集測試

#在7001上面連接客戶端並設定一個key,然後在7002上面檢查

redis複製叢集如何搭建

 但是如果在7002或7003上面set一個key的時候就會報錯,即從節點沒有寫入權限;

redis複製叢集如何搭建

###

以上是redis複製叢集如何搭建的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除