redis集群搭建--參考微信公眾號(詩(shī)情畫(huà)意程序員):https://mp.weixin.qq.com/s/s5eJE801TInHgb8bzCapJQ

這是來(lái)自redis官網(wǎng)的一段介紹,大概意思就是:
Redis是一個(gè)開(kāi)源(BSD許可)的內存數據結構存儲,用作數據庫、緩存和消息代理。它支持諸如字符串、散列、列表、集、帶范圍查詢(xún)的排序集、位圖、hyperloglogs、帶半徑查詢(xún)和流的地理空間索引等數據結構。Redis具有內置的復制、Lua腳本、LRU清除、事務(wù)和不同級別的磁盤(pán)持久性,并通過(guò)Redis Sentinel和帶有Redis集群的自動(dòng)分區提供高可用性。
and so on ...
不過(guò)這不是今天的重點(diǎn),今天的重點(diǎn)是redis的集群搭建。
搭建集群呢,先安裝個(gè)單擊版的

redis是c語(yǔ)言開(kāi)發(fā)的。安裝redis需要c語(yǔ)言的編譯環(huán)境。如果沒(méi)有g(shù)cc需要在線(xiàn)安裝。yum install gcc-c++
將redis的安裝包上傳到Linux并解壓縮。
進(jìn)入redis源碼目錄進(jìn)行編譯。輸入命令:make
編譯完后進(jìn)行安裝,輸入命令:make install PREFIX=/usr/local/redis
PREFIX指定redis的安裝目錄,我的安裝在了/usr/local/redis

這時(shí)單擊版的就已經(jīng)安裝好了,接下來(lái)啟動(dòng)一下:
在redis的安裝目錄直接啟動(dòng):
輸入命令:[root@localhost bin]# ./redis-server

出現這個(gè)界面表示啟動(dòng)成功。
可以通過(guò)查看redis進(jìn)程:
輸入命令:ps aux|grep redis

但是這是前臺啟動(dòng),退出后redis就關(guān)閉了,下面設置后臺啟動(dòng)的方法。
把/root/redis-3.0.0/redis.conf復制到/usr/local/redis/bin目錄下


這時(shí)再次啟動(dòng)redis,但是要指定配置文件以后臺啟動(dòng)
輸入命令:[root@localhost bin]# ./redis-server redis.conf

可以看到并沒(méi)有出現redis的啟動(dòng)圖標,那是否啟動(dòng)成功了呢?這時(shí)我們查看一下redis進(jìn)程。
輸入命令:ps aux|grep redis

可以看到redis已經(jīng)成功啟動(dòng)。
下面我們開(kāi)始搭建集群版,下面是redis官網(wǎng)的一段截取。

更多的介紹請到redis官網(wǎng)查看。
由于redis-cluster采用投票容錯的方式來(lái)判斷該節點(diǎn)是否掛掉,投票容錯簡(jiǎn)單點(diǎn)說(shuō)就是投票超總數的一半即判定該節點(diǎn)掛掉,因此最少需要三個(gè)節點(diǎn),但是由于redis-cluster要保證高可用,因此每個(gè)主節點(diǎn)需要一個(gè)備份機,也就是說(shuō)至少需要六個(gè)節點(diǎn)。
這里在redis官網(wǎng)也提到了。

六個(gè)節點(diǎn)需要六臺服務(wù)器,這里為了演示就先搭建一個(gè)偽分布式,操作步驟和在六臺服務(wù)器上搭建完全一樣。
使用ruby腳本搭建集群,需要ruby的運行環(huán)境
安裝ruby
yum install ruby
yum install rubygems

安裝ruby腳本運行所需的依賴(lài)包 redis-3.0.0.gem
[root@localhost wl]# gem install redis-3.0.0.gem
搭建偽分布式,需要6個(gè)redis的實(shí)例,分別運行在7001,7002,7003,7004,7005,7006端口
創(chuàng )建6個(gè)redis實(shí)例,把之前的單機版復制6份就可以。
在/usr/local/下創(chuàng )建redis-cluster目錄

將/usr/local/redis目錄下的單機版復制6分到/usr/local/redis-cluster/

每個(gè)實(shí)例運行在不同的端口。需要修改redis.conf配置文件。
配置文件中還需要把cluster-enabled yes前的注釋去掉。
進(jìn)入redis01目錄下,打開(kāi)redis.conf配置文件
修改端口號為7001,并把cluster-enabled yes前的注釋去掉


其他5個(gè)做相同的設置,注意端口不一樣。
啟動(dòng)每個(gè)redis實(shí)例
使用ruby腳本搭建集群,需要使用redis-trib.rb,此文件在源碼src目錄下。

進(jìn)入src目錄,將redis-trib.rb復制到/usr/local/redis-cluster目錄下
cp redis-trib.rb /usr/local/redis-cluster
進(jìn)入/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集群就搭建完成了,這時(shí)啟動(dòng)一下。
逐個(gè)啟動(dòng)太費事,編寫(xiě)個(gè)腳本
在redis-cluster目錄下創(chuàng )建一個(gè).sh的腳本,

創(chuàng )建完成后修改文件的權限
chmod u+x start_redis.sh
運行文件 sh start_redis.sh,啟動(dòng)redis集群
查看后臺進(jìn)程 ps aux|grep redis

可以看到redis集群成功啟動(dòng)。
聯(lián)系客服