Redis 集群搭建準(zhǔn)備

Redis 集群搭建準(zhǔn)備

下面先搭建一個(gè)最簡(jiǎn)單的 3 個(gè)節(jié)點(diǎn)的集群,先不為主節(jié)點(diǎn)添加從節(jié)點(diǎn),在稍后的文章中會(huì)添加從節(jié)點(diǎn)。至于Redis如何安裝將在后面的文章補(bǔ)充上.

現(xiàn)在的假設(shè)我們有 3 個(gè) A,B,C 節(jié)點(diǎn),分別部署一個(gè) Redis 節(jié)點(diǎn)。由于測(cè)試環(huán)境受限影響,現(xiàn)在把 3 個(gè)節(jié)點(diǎn)都部署到一臺(tái)服務(wù)器上。新建 Redis-Cluster 目錄,然后新建 3 個(gè)文件夾,分別是:

mkdir Redis-Cluster
mkdir 30001 30002 30003

然后在 30001 30002 30003 中分別生成 redis.conf 文件,文件內(nèi)容分別如下。

port 30001
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

port 30002
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
    
port 30003
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

執(zhí)行如下命令來分別啟動(dòng)每個(gè) Redis 實(shí)例:

../src/redis-server redis.conf

創(chuàng)建集群

現(xiàn)在我們已經(jīng)有了三個(gè)正在運(yùn)行中的 Redis 實(shí)例, 接下來我們需要使用這些實(shí)例來創(chuàng)建集群, 并為每個(gè)節(jié)點(diǎn)編寫配置文件。通過使用 Redis 集群命令行工具 redis-trib , 編寫節(jié)點(diǎn)配置文件的工作可以非常容易地完成: redis-trib 位于 Redis 源碼的 >src 文件夾中, 它是一個(gè) Ruby 程序, 這個(gè)程序通過向?qū)嵗l(fā)送特殊命令來完成創(chuàng)建新集群, 檢查集群, 或者對(duì)集群進(jìn)行重新分片>(reshared)等工作。

./redis-trib.rb create 192.168.1.179:30001 192.168.1.179:30002 192.168.1.179:30003

執(zhí)行結(jié)果如下,這表示集群中的 16384 個(gè)槽都有至少一個(gè)主節(jié)點(diǎn)在處理, 集群運(yùn)作正常。

[root@192 src]# ./redis-trib.rb create 192.168.1.179:30001 192.168.1.179:30002 192.168.1.179:30003

>>> Creating cluster
>>> Performing hash slots allocation on 3 nodes...
Using 3 masters:
192.168.1.179:30001
192.168.1.179:30002
192.168.1.179:30003
M: a87f3bd894a5d58fda2c7ba0fb0926e05c8ebf96 192.168.1.179:30001
   slots:0-5460 (5461 slots) master
M: 915039a399601973b5d5915f71d8c37f6caeeb45 192.168.1.179:30002
   slots:5461-10922 (5462 slots) master
M: c4628faf0aa4cf8d083733abd9e1c10225d7a731 192.168.1.179:30003
   slots:10923-16383 (5461 slots) master
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join..
>>> Performing Cluster Check (using node 192.168.1.179:30001)
M: a87f3bd894a5d58fda2c7ba0fb0926e05c8ebf96 192.168.1.179:30001
   slots:0-5460 (5461 slots) master
M: 915039a399601973b5d5915f71d8c37f6caeeb45 192.168.1.179:30002
   slots:5461-10922 (5462 slots) master
M: c4628faf0aa4cf8d083733abd9e1c10225d7a731 192.168.1.179:30003
   slots:10923-16383 (5461 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

到此為止,Redis 最簡(jiǎn)配置的集群就搭建完成了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文檔翻譯自 http://redis.io/topics/cluster-tutorial 。 本文檔是 Red...
    會(huì)跳舞的機(jī)器人閱讀 67,070評(píng)論 2 21
  • 前言 Redis 是我們目前大規(guī)模使用的緩存中間件,由于它強(qiáng)大高效而又便捷的功能,得到了廣泛的使用。單節(jié)點(diǎn)的Red...
    Kevin_ZGJ閱讀 11,854評(píng)論 19 133
  • 1 Redis介紹1.1 什么是NoSql為了解決高并發(fā)、高可擴(kuò)展、高可用、大數(shù)據(jù)存儲(chǔ)問題而產(chǎn)生的數(shù)據(jù)庫解決方...
    克魯?shù)吕?/span>閱讀 5,725評(píng)論 0 36
  • 在開始搭建 Redis 集群之前,首先要明確集群節(jié)點(diǎn)的數(shù)量。集群正常運(yùn)作至少需要三個(gè)主節(jié)點(diǎn),為了增加集群的可訪問性...
    簡(jiǎn)書冷雨閱讀 2,653評(píng)論 2 22
  • 熬了幾個(gè)禮拜,終于到今天下午沒有什么課。也謝天謝地高數(shù)、基化、vb放了一馬,也終于不用寫什么作業(yè)。更感激班級(jí)、社團(tuán)...
    致夏kli閱讀 169評(píng)論 0 0

友情鏈接更多精彩內(nèi)容