redis集羣redis-cluster搭建

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目錄下

  • 進入/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集羣成功啓動。

相關文章
相關標籤/搜索