Linux搭建redis集群


前言

如果是redis單機版安裝,可以參考上一篇:Linux安裝redis

本篇的安裝環境和上篇一樣,但是本篇是搭建redis集群。要保證集群的高可用,需要每個節點都有從節點,所以Redis集群至少需要6台服務器。因為只有一台服務器,所有這里搭建的偽分布式集群,即一台服務器虛擬運行6個redis實例,修改端口號為8001~8006。

 

搭建

1、在/usr/local目錄下,創建一個目錄 rediscluster

mkdir rediscluster

2、進入reidscluster目錄,創建6個文件夾(批量)

mkdir ./node800{1,2,3,4,5,6}

創建的文件夾如下所示:

 3、將redis配置文件拷貝到 ./rediscluster/node8001/ 下

cp redis/redis.conf ./rediscluster/node8001/

4、修改配置文件內容

port 8001                                --設置端口
#bind 127.0.0.1                          --去掉綁定ip信息
protected-mode no                        --關閉保護模式
dir /usr/local/rediscluster/node8001     --指定數據文件存放位置,必須要指定不同的目錄,不然會丟失數據,默認 dir ./。
cluster-enabled yes                      --開啟集群模式
cluster-config-file nodes-8001.conf      --集群節點配置文件,這里的800x最好和port對應上,redis集群自動創建、自動更新
cluster-node-timeout 5000                --集群超時時間,節點超過這個時間沒反應就斷定是宕機
appendonly yes                           --開啟AOF持久化

如果要設置密碼,需要增加如下配置:
requirepass 123456                       --設置redis訪問密碼
masterauth 123456                        --設置集群節點間訪問密碼,跟上面一致

5、保存后,將此配置文件復制到其它節點(node8002~node8006)

 6、在node8002~node8006的配置文件中,命令模式下執行替換命令(將8001改為800x):

 7、切到redis目錄,啟動node8001節點服務

./src/redis-server /usr/local/rediscluster/node8001/redis.conf

查看redis進程,發現進程中有表示為 [cluster]的redis進程。如下所示:

8、參照上一步,分別啟動其它5個節點。啟動后查看進程如下:

 

 9、創建集群(其中:-a 123456是配置文件中的密碼,cluster-replicas 1,表示1個從節點)

./src/redis-cli -a 123456  --cluster create 192.168.20.15:8001 192.168.20.15:8002 192.168.20.15:8003 192.168.20.15:8004 
192.168.20.15:8005 192.168.20.15:8006 --cluster-replicas 1

執行后,slots和主從節點信息如下(8001(主)和8004(從)、8002(主)和8005(從)、8003(主)和8006(從)):

 10、詢問是否確認上面的配置,輸入 yes,會打印如下信息:

 自此集群搭建就完成了

 

普通模式

1、普通模式進入redis客戶端(-a是密碼,-p是端口,如果是遠程連接,得加上-h)

./src/redis-cli -a 123456 -p 8001

2、執行set命令,發現報錯(意思其實就是 a 對應的slot為15495,只能在8003上執行)

 3、切到8003上再執行set命令,執行成功

 

集群模式

1、普通模式執行命令可能slot不正確導致命令不能執行,所以可以切到集群模式執行(加一個 -c 選項)。

./src/redis-cli -c -a 123456 -p 8001

2、在8001上執行set命令,發現可以執行成功

 

其它命令

1、查看key為a的slot值

cluster keyslot a

2、查看slot信息

cluster slots

 3、查看集群信息:

cluster info

 4、集群幫助命令

redis-cli --cluster help

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM