Linux(Centos7)下redis5緩存服務集群分布式搭建


注意:可以查看Redis官網查看集群搭建方式,連接如下

https://redis.io/topics/cluster-tutorial

集群中應該至少有三個節點,每個節點有一備份節點。需要6台服務器。

如果條件有限,可以搭建偽分布式,以下步驟是在一台 Linux 服務器上搭建有6個節點的 Redis集群。

准備工作:安裝依賴包

[root@localhost ~]#yum install -y gcc g++ make gcc-c++ kernel-devel automake autoconf libtool make wget tcl vim  unzip git

 

1.創建目錄並進

命令:mkdir /usr/local/redis-cluster

命令:cd  /usr/local/redis-cluster

 

 

 

2.下載源碼包並解包編譯安裝

命令:wget http://download.redis.io/releases/redis-5.0.5.tar.gz             #安裝redis5.0.5版本

命令:tar -zvxf  redis-5.0.5.tar.gz               #解包

 

 

 

3.進入redis目錄里,開始編譯並安裝

命令:cd redis-5.0.5             #進入目錄里如果有這個Makefile就可以編譯安裝了

命令:make                            #編譯

命令:make install PREFIX=/usr/local/redis     #編譯安裝並將redis放在/usr/local/redis下,這樣就可以直接使用redis

好了,現在redis已經安裝成功

 

4.創建6個redis配置文件(注意:6個配置文件不能放在同一個目錄之內)

命令:[root@localhost redis-5.0.5]# cp /usr/local/redis-cluster/redis-5.0.5/redis.conf /usr/local/redis/bin

命令:[root@localhost redis-5.0.5]# cd /usr/local/redis

命令:[root@localhost redis]# cp -r /usr/local/redis/bin /usr/local/redis-cluster/redis01

命令:[root@localhost redis]# cd /usr/local/redis-cluster/redis01

命令:[root@localhost redis01]# vim redis.conf          #修改配置文件

 

 

 配置文件的修改路徑為:

1)port 7001    #端口

2)cluster-enabled yes       #啟用集群模式              

3)cluster-config-file nodes.conf        #設置對應端口,不輸入的話就是默認port端口 

4)cluster-node-timeout 5000       #超時時間

5)appendonly yes         #開啟持久化模式

6)daemonize yes          #后台運行

7)protected-mode no         #非保護模式

8)pidfile /var/run/redis_7001.pid      #防止啟動多個進程副本,只啟動7001

(知識擴展:進程運行后會給.pid文件加一個文件鎖,只有獲得該鎖的進程才有寫入權限(F_WRLCK),

把自身的pid寫入該文件中,其他試圖獲得該鎖的進程會自動退出。)

9)bind 172.20.10.7            #127.0.0.1改為本機ip地址,可用 ifconfig 或 ip a 查看ip

這樣配置文件就已經做好了,接下來保存退出,然后創建其他5個節點

 

5.創建其他5個節點

命令:cd     /usr/local/redis-cluster/       #進入redis目錄下

[root@localhost redis-cluster]# cp -r redis01  redis02
[root@localhost redis-cluster]# cp -r redis01  redis03
[root@localhost redis-cluster]# cp -r redis01  redis04
[root@localhost redis-cluster]# cp -r redis01  redis05
[root@localhost redis-cluster]# cp -r redis01  redis06        #將配置目錄復制5份

 

 

 然后修改配置文件:分別修改redis02 ~ redis06 的 redis.conf下的port 和 pidfile

修改內容:

1)port 7001

2)pidfile /var/run/redis_7001.pid

 

 

 

6.啟動節點

有兩種方法啟動

命令:cd  /usr/local/redis-cluster

1)分別進入redis01、redis02、...redis06目錄,執行: ./redis-server ./redis.conf

2)做一個腳本執行    start-all.sh

腳本內容如下:

cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
cd ..

然后添加權限執行腳本就行了

命令:chmod u+x start-all.sh          #給腳本添加權限

命令:./start-all.sh

 

 

 然后順便看一下節點是否啟動成功

命令:ps aux | grep redis

 

 

 

7.啟動集群

因為我們使用的5.0.0以上的版本的Redis搭建的集群只需要把編譯后的redis目錄中的這個redis-cli文件拷貝到redis-cluster目錄過來就可以了

至於redis-cli在/usr/local/redis-cluster/redis-5.0.5/src下就可以找到,然后復制到/usr/local/redis-cluster下就可以了

命令:cp -r    /usr/local/redis-cluster/redis-5.0.5/src/redis-cli   /usr/local/redis-cluster

命令:/usr/local/redis-cluster/redis-cli --cluster create 192.168.100.248:7001 192.168.100.248:7002 192.168.100.248:7003 192.168.100.248:7004

192.168.100.248:7005 192.168.100.248:7006 --cluster-replicas 1               #啟動命令(注意:根據自己的IP啟動)

 

 

 

 

 

 到這個地方,就做完了redis集群啟動成功

 

8.集群的操作

關閉集群,在create-cluster目錄下編寫腳本文件:vim shutdown.sh

腳本內容如下:

/usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7001 shutdown
/usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7002 shutdown
/usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7003 shutdown
/usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7004 shutdown
/usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7005 shutdown
/usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7006 shutdown
然后給腳本添加權限並執行此文件

命令:chmod u+x shutdown.sh

命令:./shutdown.sh

 

 

查看redis集群狀態

命令:ps aux|grep redis

 

 

 知識擴展:

官方:/usr/local/redis-cluster/redis-cli -a xxx -c -h 192.168.100.248 -p 7001

提示:-a訪問服務端密碼,-c表示集群模式,-h指定ip地址,-p指定端口號

 

9.重新啟動集群

在start-all.sh腳本的最后添加/usr/local/redis-cluster/redis-cli --cluster create 192.168.100.248:7001 192.168.100.248:7002 192.168.100.248:7003

192.168.100.248:7004 192.168.100.248:7005 192.168.100.248:7006 --cluster-replicas 注意:使用自己本機的IP 

 然后執行腳本就可以了

命令:./start-all.sh

 

 

 

10.測試集群

在redis-cluster目錄下執行

命令:redis01/redis-cli -h 192.168.100.248 -p 7002 -c        (注意:用自己的IP)

命令:cluster nodes                 #查詢集群結點信息

命令:cluster info                     # 查詢集群狀態信息

 

 

 (知識擴展:設置主從密碼)

需要在redis01~redis06的配置文件里redis.conf修改這兩行

masterauth 123456 #主從密碼

requirepass 123456 #訪問密碼

 

 

 

 

 

 然后重啟服務

 測試:

命令:redis01/redis-cli -h 192.168.100.248 -p 7002 -c

192.168.100.248:7001> cluster nodes           #這個時候命令不能用

 NOAUTH Authentication required

192.168.1.181:7001> auth 123456             #輸入密碼,看見“OK”就可以了

 OK

192.168.1.181:7001> cluster nodes          #這個時候命令就可以用了

 

 

總結:。。。。。。。。。。。。。。。。。(此處省略一萬字)

 


免責聲明!

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



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