搭建redis cluster叢集

黄多鱼發表於2024-07-03

環境:Redhat Linux 7.x系統
主機:192.168.1.1-192.168.1.6
Redis版本 5.0.3版本
說明:一般情況下,redis使用虛擬機器部署即可

1.安裝redis
將redis-5.0.3.tar.gz安裝包上傳至/app目錄下
解壓軟體包
tar -zxvf redis-5.0.3.tar.gz -C /app
編譯redis

cd /app/redis-5.0.3  && make 

MALLOC=libc

make install

執行下行命令驗證服務啟動,ok後ctrl+c關閉
/app/redis-5.0.3/src/redis-server

建立叢集目錄
cd /app/ && mkdir redis_7001/{conf,dump,log} -p

編輯配置檔案

vim  /app/redis_7001/conf/redis.conf

修改配置檔案,需要修改的內容如下
port 7001 //配置服務的埠
bind 本機的IP //這裡的預設配置是127.0.0.1改為內網ip
daemonize yes //允許redis在後臺執行
pidfile /app/redis_7001/log/redis_7001.pid //改成和埠一致 
logfile "/app/redis_7001/log/nodes_7001.log"
cluster-enabled yes // 開啟叢集 把註釋去掉 
cluster-config-file node_7001.conf //叢集的配置,和埠一致 
cluster-node-timeout 15000 // 節點間請求超時,預設為15秒 
appendonly no // 關閉ROF持久化功能
# save 900 1 //註釋RDB持久化功能
# save 300 10 //註釋RDB持久化功能
# save 60 10000 //註釋RDB持久化功能
masterauth pms25   //叢集管理節點密碼
requirepass pms25  //當前節點密碼

依次啟動redis-server
/app/redis-5.0.3/src/redis-server /app/redis_7001/conf/redis.conf &

執行以下命令驗證

/app/redis-5.0.3/src/redis-cli -h 本機IP -p 7001 -a pms25    --a後為設定的密碼
:7001>ping    //出現PONG正常
ps -ef|grep 7001  //出現redis程序正常

其餘機器執行相同安裝操作,然後修改對應的主機ip,密碼需保持一致啟動redis節點

2.建立cluster叢集

/app/redis-5.0.3/src/redis-cli --cluster create 192.168.1.1:7001 192.168.1.2:7001 192.168.1.3:7001 192.168.1.4:7001 192.168.1.5:7001 192.168.1.1:7006 --cluster-replicas 1

(replicas 1 表示我們希望為叢集中的每個主節點建立一個從節點。

3.測試redis-cluster
登入任意一節點

/app/redis-5.0.3/src/redis-cli -h 192.168.1.1 -a pms25

執行
> cluster info

4.Redis安全密碼設定
方式一:修改所有Redis叢集中的redis.conf檔案加入:
masterauth passwd123
requirepass passwd123
說明:這種方式需要重新啟動各節點

方式二:進入各個例項進行設定:

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

之後分別使用./redis-cli -c -h 192.168.1.1 -p 7001 命令給各節點設定上密碼。
注意:各個節點密碼都必須一致,否則Redirected就會失敗, 推薦這種方式,這種方式會把密碼寫入到redis.conf裡面去,且不用重啟。

相關文章