centos下搭建redis集群
阿新 • • 發佈:2017-06-11
div nec dump ont wait bin 1-1 實例 設置 必備的工具:
redis-3.0.0.tar
redis-3.0.0.gem(ruby和redis接口)
分析:
首先,集群數需要基數,這裏搭建一個簡單的redis集群(6個redis實例進行集群)。
在一臺服務器上操作,因此僅需要6個不同的端口號即可。分別是:7001、7002、7003、7004、7005、7006。
步驟:
1、上傳redis-3.0.0.tar到服務器(自己指定自己的軟件目錄),解壓redis-3.0.0.tar。
2、安裝c語言環境(安裝centos之後,自帶c語言環境)
yuminstallgcc-c++
3、進入到redis-3.0.0目錄
make
4、安裝redis到/usr/local/redis目錄
makeinstallPREFIX=/usr/local/redis
5、查看是否安裝成功(出現bin目錄即可)
6、前端啟動redis(進入上圖的bin目錄)
./redis-server(開啟)
./redis-clishutdown
7、後端啟動
需要將redis解壓之後的源碼包中(redis-3.0.0目錄下)的redis.conf文件拷貝到bin目錄下
修改redis.conf文件,將daemonize改為yes先要使用vimredis.conf
使用命令後端啟動redis
bin目錄下執行./redis-serverredis.conf
查看是否啟動成功
關閉後端啟動的方式:
以上是單獨的redis安裝,接下來搭建集群!
安裝ruby
yuminstallruby
yuminstallrubygems
將以下文件上傳到linux系統
進入該目錄執行:geminstallredis-3.0.0.gem
將redis-3.0.0包下src目錄中的以下文件拷貝到/usr/local/redis/redis-cluster/
前提:先新建一個redis-cluster目錄
搭建集群最少也得需要3臺主機,如果每臺主機再配置一臺從機的話,則最少需要6臺機器。
端口設計如下:7001-7006
第一步:復制出一個7001機器
進入/usr/local/redis/目錄執行cpbin./redis-cluster/7001–r
第二步:如果存在持久化文件,則刪除
rm-rfappendonly.aofdump.rdb
第三步:設置集群參數
第四步:修改端口
第五步:復制出7002-7006機器
給出我桌面系統下的目錄結構:
接下來設置一鍵啟動全部redis或者關閉redis群:
首先,新建一個文件,可以用vim打開一個不存在的文件,然後保存就存在了。(上圖的start-all.sh和shutdow-all.sh就是我新建的)
start-all.sh:cd7001./redis-serverredis.confcd..cd7002./redis-serverredis.confcd..cd7003./redis-serverredis.confcd..cd7004./redis-serverredis.confcd..cd7005./redis-serverredis.confcd..cd7006./redis-serverredis.confcd..
shutdow-all.sh:cd7001./redis-cli-p7001shutdowncd..cd7002./redis-cli-p7002shutdowncd..cd7003./redis-cli-p7003shutdowncd..cd7004./redis-cli-p7004shutdowncd..cd7005./redis-cli-p7005shutdowncd..cd7006./redis-cli-p7006shutdowncd..
接下來修改那兩個文件權限,設置其為可啟動的腳本文件
chmodu+xstart-all.sh
chmodu+xshutdown-all.sh
接下來用ruby連接這幾個集群,進行管理
/redis-trib.rbcreate--replicas1192.168.78.133:7001192.168.78.133:7002192.168.78.133:7003192.168.78.133:7004192.168.78.133:7005192.168.78.133:7006
出現:Connectingtonode192.168.242.137:7001:OKConnectingtonode192.168.242.137:7002:OKConnectingtonode192.168.242.137:7003:OKConnectingtonode192.168.242.137:7004:OKConnectingtonode192.168.242.137:7005:OKConnectingtonode192.168.242.137:7006:OK>>>Performinghashslotsallocationon6nodes...Using3masters:192.168.242.137:7001192.168.242.137:7002192.168.242.137:7003Addingreplica192.168.242.137:7004to192.168.242.137:7001Addingreplica192.168.242.137:7005to192.168.242.137:7002Addingreplica192.168.242.137:7006to192.168.242.137:7003M:8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24192.168.242.137:7001slots:0-5460(5461slots)masterM:4f52a974f64343fd9f1ee0388490b3c0647a4db7192.168.242.137:7002slots:5461-10922(5462slots)masterM:cb7c5def8f61df2016b38972396a8d1f349208c2192.168.242.137:7003slots:10923-16383(5461slots)masterS:66adf006fed43b3b5e499ce2ff1949a756504a16192.168.242.137:7004replicates8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24S:cbb0c9bc4b27dd85511a7ef2d01bec90e692793b192.168.242.137:7005replicates4f52a974f64343fd9f1ee0388490b3c0647a4db7S:a908736eadd1cd06e86fdff8b2749a6f46b38c00192.168.242.137:7006replicatescb7c5def8f61df2016b38972396a8d1f349208c2CanIsettheaboveconfiguration?(type‘yes‘toaccept):yes>>>Nodesconfigurationupdated>>>Assignadifferentconfigepochtoeachnode>>>SendingCLUSTERMEETmessagestojointheclusterWaitingfortheclustertojoin..>>>PerformingClusterCheck(usingnode192.168.242.137:7001)M:8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24192.168.242.137:7001slots:0-5460(5461slots)masterM:4f52a974f64343fd9f1ee0388490b3c0647a4db7192.168.242.137:7002slots:5461-10922(5462slots)masterM:cb7c5def8f61df2016b38972396a8d1f349208c2192.168.242.137:7003slots:10923-16383(5461slots)masterM:66adf006fed43b3b5e499ce2ff1949a756504a16192.168.242.137:7004slots:(0slots)masterreplicates8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24M:cbb0c9bc4b27dd85511a7ef2d01bec90e692793b192.168.242.137:7005slots:(0slots)masterreplicates4f52a974f64343fd9f1ee0388490b3c0647a4db7M:a908736eadd1cd06e86fdff8b2749a6f46b38c00192.168.242.137:7006slots:(0slots)masterreplicatescb7c5def8f61df2016b38972396a8d1f349208c2[OK]Allnodesagreeaboutslotsconfiguration.>>>Checkforopenslots...>>>Checkslotscoverage...[OK]All16384slotscovered.
則代表成功了!
測試一下,進入7001目錄執行:./redis-cli-h192.168.242.137-p7001–c
轉自:https://baijiahao.baidu.com/po/feed/share?wfr=spider&for=pc&context=%7B%22sourceFrom%22%3A%22bjh%22%2C%22nid%22%3A%22news_3430456511238301812%22%7D
centos下搭建redis集群