Redis集羣(二)集羣搭建
本文假設您已經瞭解基礎的Redis知識,只簡要介紹集羣概念,重點放在集羣搭建及簡單應用上。
Redis的安裝可以參考上一篇 Redis集羣(一)單機安裝
如需瞭解Redis基礎知識,可以移步redis中文官網http://www.redis.cn/
集羣的概念
多個業務單元系統工作的整體稱爲集羣。
-
集羣的特點
1) 集羣節點數量應爲奇數
在集羣中業務單元一半及以上不可用時,整個集羣遍不可用,因此集羣的數量應該爲奇數,纔會使整個集羣不可用的機率最小(集羣數量爲偶數,允許down掉節點數永遠是二分之一,而奇數個可以提高上限)。2)集羣模式爲一主一備模式
爲每一個業務單元(master節點)創建一個備份業務單元(slave節點),相互協同保證服務可用。
集羣搭建
- 安裝ruby腳本
> yum install ruby -y
- 安裝ruby包管理器
> yum install rubygems -y
- 安裝ruby依賴的其他包
首先需要下載gem包,傳送門
下載後放在任意文件夾,進入到此文件夾運行以下命令進行安裝
> gem install redis-3.0.0.gem
- 新建redis-cluster方便集中管理
> mkdir /usr/local/redis-cluster
- 複製安裝好的redis文件並重命名
# -r 表示遞歸複製
#將你之前安裝好的redis安裝目錄中的文件複製到redis-cluster中
> cp -r /usr/local/redis /usr/local/redis-cluster/redis01
- 刪除掉之前的運行時產生的備份
#進入到redis01中
> cd /usr/local/redis-cluster/redis01
#刪除備份文件
> rm -rf dump.rdb
- 修改配置文件中的端口號,添加cluster-enabled屬性值
> vim redis.conf
#將port值修改爲7001
#將cluster-enabled yes 的註釋解開
- 複製redis01爲01-06
> cp -r redis01 redis02
> cp -r redis01 redis03
...
- 依次修改每個redis的端口
> vim redis02/redis.conf #修改port值
> vim redis03/redis.conf #修改port值
...
- 複製redis-trib.rb到redis-cluster中
> cd /usr/local/redis-cluster
#將redis解壓目錄中的redis-trib.rb複製過來,注意你的路徑有可能不同
> cp /usr/local/tmp/redis-3.0.0/src/redis-trib.rb ./
- 創建批量啓動文件
> vim startup.sh
添加如下語句:
- 設置startup.sh啓動權限
> chmod a+x startup.sh
- 啓動所有redis服務
> ./startup.sh
- 查看是否啓動成功
> ps aux | grep redis
運行效果
- 創建集羣
#這裏需要注意的是:一定要使用公網ip,不能使用127.0.0.1,否則會導致使用非本地程序訪問集羣報“No more cluster attempts left”錯誤
> ./redis-trib.rb create --replicas 1 192.168.80.130:7001 192.168.80.130:7002 192.168.80.130:7003 192.168.80.130:7004 192.168.80.130:7005 192.168.80.130:7006
提示中輸入‘yes’,回車等待運行成功:
- 進入任意節點測試
> ./redis01/redis-cli -h 127.0.0.1 -p 7001 -c
可以進入終端代表創建成功
- 爲了方便統一關閉,創建類似startup.sh的批量關閉文件
> vim shutdown.sh
添加如下內容
記得使用chmod授權,參考startup.sh的授權。
至此,相信你已經將集羣搭建成功,接下來演示使用桌面工具連接和使用java來測試集羣是否可以正常使用。