詳解centos下搭建redis集群
必備的工具:
redis-3.0.0.tar
redis-3.0.0.gem (ruby和redis接口)
分析:
首先,集群數(shù)需要基數(shù),這里搭建一個簡單的redis集群(6個redis實例進(jìn)行集群)。
在一臺服務(wù)器上操作,因此僅需要6個不同的端口號即可。分別是:7001、7002、7003、7004、7005、7006。
步驟:
1、上傳redis-3.0.0.tar到服務(wù)器(自己指定自己的軟件目錄),解壓redis-3.0.0.tar。
2、安裝c語言環(huán)境(安裝centos之后,自帶c語言環(huán)境)
yum install gcc-c++
3、進(jìn)入到redis-3.0.0目錄
make
4、安裝redis到/usr/local/redis目錄
make install PREFIX=/usr/local/redis
5、查看是否安裝成功(出現(xiàn)bin目錄即可)
6、前端啟動redis(進(jìn)入上圖的bin目錄)
./redis-server(開啟)
./redis-cli shutdown(關(guān)閉)
7、后端啟動
需要將redis解壓之后的源碼包中(redis-3.0.0目錄下)的redis.conf文件拷貝到bin目錄下
修改redis.conf文件,將daemonize改為yes先要使用vim redis.conf
使用命令后端啟動redis
bin目錄下執(zhí)行 ./redis-server redis.conf
查看是否啟動成功
關(guān)閉后端啟動的方式:
./redis-cli shutdown
以上是單獨的redis安裝,接下來搭建集群!
安裝ruby
yum install ruby yum install rubygems
將以下文件上傳到linux系統(tǒng)
redis-3.0.0.gem (ruby和redis接口)
進(jìn)入該目錄執(zhí)行:gem install redis-3.0.0.gem
將redis-3.0.0包下src目錄中的以下文件拷貝到/usr/local/redis/redis-cluster/
前提:先新建一個redis-cluster目錄
搭建集群最少也得需要3臺主機(jī),如果每臺主機(jī)再配置一臺從機(jī)的話,則最少需要6臺機(jī)器。
端口設(shè)計如下:7001-7006
第一步:復(fù)制出一個7001機(jī)器
進(jìn)入/usr/local/redis/目錄執(zhí)行 cp bin ./redis-cluster/7001 –r
第二步:如果存在持久化文件,則刪除
rm -rf appendonly.aof dump.rdb
第三步:設(shè)置集群參數(shù)
第四步:修改端口
第五步:復(fù)制出7002-7006機(jī)器
給出我桌面系統(tǒng)下的目錄結(jié)構(gòu):
接下來設(shè)置一鍵啟動全部redis或者關(guān)閉redis群:
首先,新建一個文件,可以用vim打開一個不存在的文件,然后保存就存在了。(上圖的start-all.sh和shutdow-all.sh就是我新建的)
start-all.sh:
cd 7001 ./redis-server redis.conf cd .. cd 7002 ./redis-server redis.conf cd .. cd 7003 ./redis-server redis.conf cd .. cd 7004 ./redis-server redis.conf cd .. cd 7005 ./redis-server redis.conf cd .. cd 7006 ./redis-server redis.conf cd ..
shutdow-all.sh:
cd 7001 ./redis-cli -p 7001 shutdown cd .. cd 7002 ./redis-cli -p 7002 shutdown cd .. cd 7003 ./redis-cli -p 7003 shutdown cd .. cd 7004 ./redis-cli -p 7004 shutdown cd .. cd 7005 ./redis-cli -p 7005 shutdown cd .. cd 7006 ./redis-cli -p 7006 shutdown cd ..
接下來修改那兩個文件權(quán)限,設(shè)置其為可啟動的腳本文件
chmod u+x start-all.sh chmod u+x shutdown-all.sh
接下來用ruby連接這幾個集群,進(jìn)行管理
/redis-trib.rb create --replicas 1 192.168.78.133:7001 192.168.78.133:7002 192.168.78.133:7003 192.168.78.133:7004 192.168.78.133:7005 192.168.78.133:7006
出現(xiàn):
Connecting to node 192.168.242.137:7001: OK Connecting to node 192.168.242.137:7002: OK Connecting to node 192.168.242.137:7003: OK Connecting to node 192.168.242.137:7004: OK Connecting to node 192.168.242.137:7005: OK Connecting to node 192.168.242.137:7006: OK >>> Performing hash slots allocation on 6 nodes... Using 3 masters: 192.168.242.137:7001 192.168.242.137:7002 192.168.242.137:7003 Adding replica 192.168.242.137:7004 to 192.168.242.137:7001 Adding replica 192.168.242.137:7005 to 192.168.242.137:7002 Adding replica 192.168.242.137:7006 to 192.168.242.137:7003 M: 8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24 192.168.242.137:7001 slots:0-5460 (5461 slots) master M: 4f52a974f64343fd9f1ee0388490b3c0647a4db7 192.168.242.137:7002 slots:5461-10922 (5462 slots) master M: cb7c5def8f61df2016b38972396a8d1f349208c2 192.168.242.137:7003 slots:10923-16383 (5461 slots) master S: 66adf006fed43b3b5e499ce2ff1949a756504a16 192.168.242.137:7004 replicates 8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24 S: cbb0c9bc4b27dd85511a7ef2d01bec90e692793b 192.168.242.137:7005 replicates 4f52a974f64343fd9f1ee0388490b3c0647a4db7 S: a908736eadd1cd06e86fdff8b2749a6f46b38c00 192.168.242.137:7006 replicates cb7c5def8f61df2016b38972396a8d1f349208c2 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.242.137:7001) M: 8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24 192.168.242.137:7001 slots:0-5460 (5461 slots) master M: 4f52a974f64343fd9f1ee0388490b3c0647a4db7 192.168.242.137:7002 slots:5461-10922 (5462 slots) master M: cb7c5def8f61df2016b38972396a8d1f349208c2 192.168.242.137:7003 slots:10923-16383 (5461 slots) master M: 66adf006fed43b3b5e499ce2ff1949a756504a16 192.168.242.137:7004 slots: (0 slots) master replicates 8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24 M: cbb0c9bc4b27dd85511a7ef2d01bec90e692793b 192.168.242.137:7005 slots: (0 slots) master replicates 4f52a974f64343fd9f1ee0388490b3c0647a4db7 M: a908736eadd1cd06e86fdff8b2749a6f46b38c00 192.168.242.137:7006 slots: (0 slots) master replicates cb7c5def8f61df2016b38972396a8d1f349208c2 [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
則代表成功了!
測試一下,進(jìn)入7001目錄執(zhí)行:./redis-cli -h 192.168.242.137 -p 7001 –c
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
centos服務(wù)器下nginx圖片防盜鏈設(shè)置方法
本篇文章主要介紹了centos服務(wù)器下nginx防盜鏈設(shè)置方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03Centos7 mysql數(shù)據(jù)庫安裝及配置實現(xiàn)教程
這篇文章主要介紹了Centos7 mysql數(shù)據(jù)庫安裝及配置實現(xiàn)教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08linux 安裝pypy , virtualenv及使用方法
下面小編就為大家?guī)硪黄猯inux 安裝pypy , virtualenv及使用方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12Linux下高并發(fā)socket最大連接數(shù)所受的各種限制(詳解)
下面小編就為大家?guī)硪黄狶inux下高并發(fā)socket最大連接數(shù)所受的各種限制(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11Linux系統(tǒng)下netstat命令詳細(xì)介紹
大家好,本篇文章主要講的是Linux系統(tǒng)下netstat命令詳細(xì)介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12Linux service無法使用系統(tǒng)環(huán)境變量的問題及解決
這篇文章主要介紹了Linux service無法使用系統(tǒng)環(huán)境變量的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04