mac搭建redis集羣

1. redis 下載

請使用命令 brew install redis 下載

2. 創建目錄 + 配置文件

我們準備創建 6 個節點,創建 6 個工作目錄。

cd ~
mkdir redisCluter
cd redisCluster
mkdir 7000 7001 7002 7003 7004 7005

目錄創建好了,目錄名就是端口號。
接下來,創建節點“配置文件”。

將你下載的 redis 目錄下的配置文件(通常在 /usr/local/etc/redis.conf)拷貝到每個目錄下,然後按如下配置逐一修改。

# 端口號,每個目錄都不同
port 700X
# 開啓集羣模式
cluster-enabled yes
#節點超時實際,單位毫秒
cluster-node-timeout 5000
#集羣內部配置文件(默認爲 nodes.conf)
cluster-config-file nodes.conf
# 啓動 AOF
appendonly yes
#配置工作目錄
dir /Users/XXX/java/redisCluter/7000/
#讓redis在後臺運行
daemonize yes
#當運行多個redis服務時,需要指定不同的pid文件和端口
pidfile /var/run/redis_7000.pid

然後,逐一進入各個目錄,執行命令:

redis-server redis.conf

看到如下結果說明執行成功

redis-server redis.conf 
113:C 28 Oct 2019 00:15:18.628 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
113:C 28 Oct 2019 00:15:18.628 # Redis version=5.0.4, bits=64, commit=00000000, modified=0, pid=113, just started

通常會生成如下文件

appendonly.aof	
dump.rdb	nodes.conf	
redis.conf

3. 關聯節點

首先隨便進入一個節點的redis-cli

redis-cli -p 7000

進行關聯(此時在節點7000的redis-cli中將7001節點關聯進集羣),依次完成所有節點關聯

127.0.0.1:7000> cluster meet 127.0.0.1 7001
OK

4. 分配 slot

redis Cluster 是由 16384 個 slot 組成的,
我們需要將這些槽分散到這其中 3 個節點裏(3 主 3 從)。

退出7000 redis-cli執行以下命令

redis-cli -p 7000 cluster addslots {0..5461}
redis-cli -p 7001 cluster addslots {5462..10922}
redis-cli -p 7002 cluster addslots {10923..16383}

5. 主從複製

主節點已經有了 slot,最後一步將主節點和從節點進行關聯,形成主從複製的關係。

執行如下命令:

redis-cli -p 7003 cluster replicate 7000的NodeID
redis-cli -p 7004 cluster replicate 7001的NodeID
redis-cli -p 7005 cluster replicate 7002的NodeID

這個 7000的NodeID 7001 可以通過命令 redis-cli -p 7000 cluster nodes 命令查看,最前面的 16 進制字符串。

大功告成

通過以下命令驗證:

redis-cli -p 7000 cluster nodes
079211025f711602a09da95e1e0e79807d030fa6 127.0.0.1:7006@17006 master,fail - 1572194105406 1572194104400 6 disconnected
50c623c01c67c7d08794c205f2c5c5b96f1628d8 127.0.0.1:7002@17002 master - 0 1572196869521 3 connected 10923-16383
0b44dc64c6c6749454a1727ecb3b11d099d785bf 127.0.0.1:7005@17005 slave 50c623c01c67c7d08794c205f2c5c5b96f1628d8 0 1572196868508 5 connected
173c7bb77530b95b29093d69889b135800c4e2b6 127.0.0.1:7004@17004 slave 38ae45133b81f6e03f28027408bd2e42bf325670 0 1572196869928 4 connected
4f90bec89541b34fafd2cd46532981bbefc297c9 127.0.0.1:7000@17000 myself,master - 0 1572196869000 2 connected 0-5461
cd4810453c328d6b8db56a6157bc08798c9285ef 127.0.0.1:7003@17003 slave 4f90bec89541b34fafd2cd46532981bbefc297c9 0 1572196868000 2 connected
38ae45133b81f6e03f28027408bd2e42bf325670 127.0.0.1:7001@17001 master - 0 1572196869000 1 connected 5462-10922

6.設置密碼

方式一:修改所有Redis集羣中的redis.conf文件加入:

masterauth passwd123
requirepass passwd123
說明:這種方式需要重新啓動各節點

方式二:進入各個實例進行設置強列推薦

./redis-cli -c -p 7000
config set masterauth passwd123
config set requirepass passwd123
config rewrite

這種方式不需要重啓,之後使用命令將人集羣所有節點密碼更改,密碼需保持一致

如出現如下錯誤:

(error) NOAUTH Authentication required.

請使用命令解決

auth "yourpassword"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章