redis 5 0 5單機集群搭建

2021-10-03 17:40:37 字數 2809 閱讀 7704

測試環境:centos + 單機 + 三主三從

redis版本:redis-5.0.5

一、redis安裝

1)安裝gcc。

yum install gcc-c++

redis-5.0.5.tar.gz

3)解壓。

tar -zxf redis-5.0.5.tar.gz

4)進入redis目錄。

cd redis-5.0.5

5)編譯。

make

6)安裝。

make prefix=/home/***/redis-5.0.5 install

二、集群搭建

1)建立節點。

mkdir redis-cluster

cd redis-cluster

mkdir 7001 7002 7003 7004 7005 7006

將redis-5.0.5下的redis.conf分別複製到7001~7006路徑下

2)修改7001~7006路徑下的配置檔案。

bind 192.168.0.99   #預設ip為127.0.0.1 需要改為其他節點機器可訪問的ip 否則建立集群時無法訪,和單機集群有區別

port 7001

daemonize yes #redis後台執行

pidfile /var/run/redis_7001.pid #pidfile檔案對應7001-7003

cluster-enabled yes #開啟集群

cluster-config-file /home/***/redis-5.0.5/redis-cluster/nodes_7001.conf #儲存節點配置

cluster-node-timeout 5000 #集群超時時間,節點超過這個時間沒反應就斷定是宕機

注意:cluster-config-file 引數最好指定絕對路徑,如果只填寫nodes_7001.conf,那麼在啟動redis的時候,會在輸入啟動命令的路徑下生成nodes_7001.conf,從而導致即使啟動redis,集群也無法識別。

例如:在/home/***/redis-5.0.5/redis-cluster 路徑下啟動了所有的redis,在殺掉7004的redis後,在/home/***/redis-5.0.5路徑下啟動了7004,此時7004的nodes_7004.conf生成在了/home/***/redis-5.0.5路徑下,而其他五個nodes_***x.conf生成在了/home/***/redis-5.0.5/redis-cluster 路徑下。此時即使7004redis在啟動,但在檢視集群時7004仍未加入集群。

可以再次殺掉7004後,在/home/***/redis-5.0.5/redis-cluster 路徑下重新啟動。

3)啟動各個redis

/home/***/redis-5.0.5/bin/redis-server /home/***/redis-5.0.5/redis-cluster/7001/redis.conf

/home/***/redis-5.0.5/bin/redis-server /home/***/redis-5.0.5/redis-cluster/7002/redis.conf

/home/***/redis-5.0.5/bin/redis-server /home/***/redis-5.0.5/redis-cluster/7003/redis.conf

/home/***/redis-5.0.5/bin/redis-server /home/***/redis-5.0.5/redis-cluster/7004/redis.conf

/home/***/redis-5.0.5/bin/redis-server /home/***/redis-5.0.5/redis-cluster/7005/redis.conf

/home/***/redis-5.0.5/bin/redis-server /home/***/redis-5.0.5/redis-cluster/7006/redis.conf

指令碼:redis_start.sh

4)建立集群

/home/***/redis-5.0.5/bin/redis-cli --cluster create --cluster-replicas 1 192.168.0.99:7001  192.168.0.99:7002 192.168.0.99:7003 192.168.0.99:7004 192.168.0.99:7005 192.168.0.99:7006
建立集群語句只需執行一次,其中乙個redis出現異常後,只需處理異常並啟動該redis後,會自動加入集群。即使伺服器重啟,只要把所有的redis啟動後,會自動加入集群。

備註:

redis cluster 在5.0之後取消了ruby指令碼 redis-trib.rb的支援(手動命令列新增集群的方式不變),集合到redis-cli裡,避免了再安裝ruby的相關環境。直接使用redis-clit的引數–cluster 來取代。

參考:

linux環境安裝redis 5 0 5

redis安裝 tar zxvf redis 5.0.5.tar.gz 解壓 yum install gcc gcc c 環境安裝 cd redis 5.0.5 make make install mkdir p usr local redis bin mkdir p usr local redis...

Linux 系統安裝redis 5 0 5

2.檢視是否已安裝依賴包gcc rpm qa grep gcc gcc c 4.8.5 36.el7 6.2.x86 64 libgcc 4.8.5 36.el7 6.2.x86 64 gcc 4.8.5 36.el7 6.2.x86 64 3.在 opt 目錄下解壓 tar zxvf redis ...

一鍵部署redis 5 0 5

root test redis vim redis.sh bin bash 定義變數 redis dir root redis redis conf root redis redis 5.0.5 redis port1 netstat tanp grep 6379 head 1 awk f awk ...