redis復(fù)制集群搭建的實現(xiàn)
前言
redis 復(fù)制集群是開發(fā)中一種比較常用的集群模式,本篇演示如何在centos7上快速搭建一個redis復(fù)制集群;
環(huán)境準(zhǔn)備
1、基于centos7系統(tǒng)的服務(wù)器(或者云服務(wù)器);
2、redis 安裝包;
搭建過程
由于資源限制,本篇將在一臺服務(wù)器上搭建,通過不同的端口號進(jìn)行區(qū)分;
1、上傳redis安裝包到指定目錄下(并解壓)
2、在當(dāng)前目錄下,創(chuàng)建三個目錄
在當(dāng)前目錄,分別創(chuàng)建 7001,7002,7003 三個文件目錄
3、將redis解壓包下的redis.conf配置文件分別拷貝到三個目錄下
4、修改每個配置文件的默認(rèn)端口號,數(shù)據(jù)存儲目錄
可以使用sed命令進(jìn)行批量替換修改
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
修改完畢后,我們不妨任意查看一個配置文件,
5、修改每個實例的聲明IP
虛擬機本身存在多個IP,為了避免將來混亂,需要在redis.conf文件中指定每一個實例的綁定ip信息,格式如下:
replica-announce-ip 當(dāng)前IP
仍然可以使用批量修改的方式進(jìn)行編輯
sed -i '1a replica-announce-ip 當(dāng)前IP' 7001/redis.conf sed -i '1a replica-announce-ip 當(dāng)前IP' 7002/redis.conf sed -i '1a replica-announce-ip 當(dāng)前IP' 7003/redis.conf
修改完畢,可以通過下面的命令確認(rèn)下
以上配置文件的修改基本上就完成了
6、集群啟動
分別啟動3個實例,啟動過程如下:
7001實例:
7002實例:
7003實例:
如果要一鍵停止,可以運行下面命令:
printf '%s\n' 7001 7002 7003 | xargs -I{} -t redis-cli -p {} shutdown
7、配置3個實例之間的主從關(guān)系
上面啟動了3個實例,但是他們之間還并沒有形成主從關(guān)系,要配置主從可以使用replicaof 或者slaveof(5.0以前)命令。
有臨時和永久兩種模式:
- 修改配置文件(永久生效),在redis.conf中添加一行配置: slaveof <masterip> <masterport>;
- 使用redis-cli客戶端連接到redis服務(wù),執(zhí)行slaveof命令(重啟后失效): slaveof <masterip> <masterport>;
這里為了演示看出效果,我們采用第二種方式進(jìn)行說明,通過redis-cli命令連接7002,執(zhí)行下面的命令:
redis-cli -p 7002
然后執(zhí)行如下命令
SLAVEOF 127.0.0.1 7001
執(zhí)行完成上面命令的瞬間可以看到7001和7002兩個實例控制臺的輸出信息,看得出7002完成了對7001的連接以及數(shù)據(jù)同步
使用同樣的方式連接7003客戶端,并執(zhí)行上面的操作
連接7001客戶端,執(zhí)行info命令查看下集群信息,看到下面的信息,說明集群構(gòu)建成功
8、集群測試
在7001上面連接客戶端并設(shè)置一個key,然后在7002上面檢查
但是如果在7002或7003上面set一個key的時候就會報錯,即從節(jié)點沒有寫權(quán)限;
問題總結(jié)
很多同學(xué)在第一步上傳并解壓安裝包之后,也按照配置文件正確配置了,但是啟動報錯,這就犯了常識性錯誤,因為此時redis并沒有完成編譯安裝,因此需要進(jìn)入到 redis的解壓包的src,目錄下,執(zhí)行 : make install 命令;
到此這篇關(guān)于redis復(fù)制集群搭建的實現(xiàn)的文章就介紹到這了,更多相關(guān)redis復(fù)制集群搭建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redis server 主從復(fù)制配置實現(xiàn)
從復(fù)制是指將一個Redis服務(wù)器的數(shù)據(jù)復(fù)制到其他Redis服務(wù)器的過程,本文主要介紹了Redis server 主從復(fù)制配置實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-02-02使用Spring?Boot實現(xiàn)Redis鍵過期回調(diào)功能示例詳解
這篇文章主要介紹了使用Spring?Boot實現(xiàn)Redis鍵過期回調(diào)功能,就是一個實現(xiàn)Redis鍵過期回調(diào)功能的Spring?Boot應(yīng)用的示例,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07Satoken+Redis實現(xiàn)短信登錄、注冊、鑒權(quán)功能
這篇文章主要介紹了Satoken+Redis實現(xiàn)短信登錄、注冊、鑒權(quán)功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01Redis全文搜索教程之創(chuàng)建索引并關(guān)聯(lián)源數(shù)據(jù)的教程
RediSearch提供了一種簡單快速的方法對 hash 或者 json 類型數(shù)據(jù)的任何字段建立二級索引,然后就可以對被索引的 hash 或者 json 類型數(shù)據(jù)字段進(jìn)行搜索和聚合操作,這篇文章主要介紹了Redis全文搜索教程之創(chuàng)建索引并關(guān)聯(lián)源數(shù)據(jù),需要的朋友可以參考下2023-12-12