redis集羣搭建--參考微信公衆號(詩情畫意程序員):https://mp.weixin.qq.com/s/s5eJE801TInHgb8bzCapJQc++
這是來自redis官網的一段介紹,大概意思就是:程序員
Redis是一個開源(BSD許可)的內存數據結構存儲,用做數據庫、緩存和消息代理。它支持諸如字符串、散列、列表、集、帶範圍查詢的排序集、位圖、hyperloglogs、帶半徑查詢和流的地理空間索引等數據結構。Redis具備內置的複製、Lua腳本、LRU清除、事務和不一樣級別的磁盤持久性,並經過Redis Sentinel和帶有Redis集羣的自動分區提供高可用性。redis
and so on ...數據庫
不過這不是今天的重點,今天的重點是redis的集羣搭建。緩存
搭建集羣呢,先安裝個單擊版的,其實呢安裝挺簡單。ruby
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目錄下
這時再次啓動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集羣成功啓動。