redis集群搭建--參考微信公眾號(詩情畫意程式員):https://mp.weixin.qq.com/s/s5eJE801TInHgb8bzCapJQ 這是來自redis官網的一段介紹,大概意思就是: Redis是一個開源(BSD許可)的記憶體數據結構存儲,用作資料庫、緩存和消息代理。它支持諸如字 ...
redis集群搭建--參考微信公眾號(詩情畫意程式員):https://mp.weixin.qq.com/s/s5eJE801TInHgb8bzCapJQ
這是來自redis官網的一段介紹,大概意思就是:
Redis是一個開源(BSD許可)的記憶體數據結構存儲,用作資料庫、緩存和消息代理。它支持諸如字元串、散列、列表、集、帶範圍查詢的排序集、點陣圖、hyperloglogs、帶半徑查詢和流的地理空間索引等數據結構。Redis具有內置的複製、Lua腳本、LRU清除、事務和不同級別的磁碟持久性,並通過Redis Sentinel和帶有Redis集群的自動分區提供高可用性。
and so on ...
不過這不是今天的重點,今天的重點是redis的集群搭建。
搭建集群呢,先安裝個單擊版的,其實呢安裝挺簡單。
redis的安裝單機版:
-
redis是c語言開發的。安裝redis需要c語言的編譯環境。如果沒有gcc需要線上安裝。yum install gcc-c++
-
將redis的安裝包上傳到Linux並解壓縮。
-
進入redis源碼目錄進行編譯。輸入命令:make
-
編譯完後進行安裝,輸入命令:make install PREFIX=/usr/local/redis
PREFIX指定redis的安裝目錄,我的安裝在了/usr/local/redis
這時單擊版的就已經安裝好了,接下來啟動一下:
在redis的安裝目錄直接啟動:
輸入命令:[root@localhost bin]# ./redis-server
出現這個界面表示啟動成功。
可以通過查看redis進程:
輸入命令:ps aux|grep redis
但是這是前臺啟動,退出後redis就關閉了,下麵設置後臺啟動的方法。
-
把/root/redis-3.0.0/redis.conf複製到/usr/local/redis/bin目錄下
- 進入/usr/local/redis/bin目錄下,修改redis.conf配置文件,將daemonize no 改為 yes,保存並退出
-
這時再次啟動redis,但是要指定配置文件以後臺啟動
輸入命令:[root@localhost bin]# ./redis-server redis.conf
可以看到並沒有出現redis的啟動圖標,那是否啟動成功了呢?這時我們查看一下redis進程。
輸入命令:ps aux|grep redis
可以看到redis已經成功啟動。
下麵我們開始搭建集群版,下麵是redis官網的一段截取。
更多的介紹請到redis官網查看。
由於redis-cluster採用投票容錯的方式來判斷該節點是否掛掉,投票容錯簡單點說就是投票超總數的一半即判定該節點掛掉,因此最少需要三個節點,但是由於redis-cluster要保證高可用,因此每個主節點需要一個備份機,也就是說至少需要六個節點。
這裡在redis官網也提到了。
六個節點需要六台伺服器,這裡為了演示就先搭建一個偽分散式,操作步驟和在六台伺服器上搭建完全一樣。
集群環境搭建
步驟一
使用ruby腳本搭建集群,需要ruby的運行環境
安裝ruby
yum install ruby
yum install rubygems
步驟二
安裝ruby腳本運行所需的依賴包 redis-3.0.0.gem
[root@localhost wl]# gem install redis-3.0.0.gem
搭建redis集群
搭建偽分散式,需要6個redis的實例,分別運行在7001,7002,7003,7004,7005,7006埠
步驟一
創建6個redis實例,把之前的單機版複製6份就可以。
在/usr/local/下創建redis-cluster目錄
將/usr/local/redis目錄下的單機版複製6分到/usr/local/redis-cluster/
步驟二
每個實例運行在不同的埠。需要修改redis.conf配置文件。
配置文件中還需要把cluster-enabled yes前的註釋去掉。
進入redis01目錄下,打開redis.conf配置文件
修改埠號為7001,並把cluster-enabled yes前的註釋去掉
其他5個做相同的設置,註意埠不一樣。
步驟三
-
啟動每個redis實例
-
使用ruby腳本搭建集群,需要使用redis-trib.rb,此文件在源碼src目錄下。
-
進入src目錄,將redis-trib.rb複製到/usr/local/redis-cluster目錄下
cp redis-trib.rb /usr/local/redis-cluster
進入/usr/local/redis-cluster目錄執行命令:
./redis-trib.rb create --replicas 1 192.168.25.131:7001 192.168.25.131:7002 192.168.25.131:7003 192.168.25.131:7004 192.168.25.131:7005 192.168.25.131:7006
-
到此redis集群就搭建完成了,這時啟動一下。
逐個啟動太費事,編寫個腳本
在redis-cluster目錄下創建一個.sh的腳本,
-
創建完成後修改文件的許可權
chmod u+x start_redis.sh
運行文件 sh start_redis.sh,啟動redis集群
查看後臺進程 ps aux|grep redis
-
可以看到redis集群成功啟動。