Redis 叢集部署及踩過的坑

發表於2018-03-13

本文目標

要在單臺機器上搭建Redis叢集,方式是通過不同的TCP埠啟動多個例項,然後組成叢集,同時記錄在搭建過程中踩過的坑。

安裝準備

centos版本:6.7

redis版本:3.2.3

安裝方式:原始碼安裝

伺服器:1臺

操作步驟

此處預設已安裝好單臺redis,如果不會可以參照《centos上安裝redis

 

1、啟動Redis多個例項

我們在Redis安裝目錄下建立目錄cluster,並編寫7000.conf~7005.conf 6個配置檔案,這6個配置檔案用來啟動6個例項,後面將使用這6個例項組成叢集。

以7000.conf為例,配置檔案需要填寫如下幾項:

分別啟動6個例項

啟動成功後,看一下程式

至此,ip=192.168.186.91機器上建立了6個例項,埠號為port=7000~7005。

 

2、安裝ruby

1)yum安裝ruby和依賴的包。

2)使用gem這個命令來安裝redis介面

這一步驟中出現了bug,度娘告訴我是Ruby版本太低,需要升級版本。

3)升級Ruby的版本

安裝rvm,我不知道這是個什麼東西,但是感覺像是Ruby的一個包管理器。

這一操作得到了:

gpg2 –recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

然後利用該金鑰下載Ruby並升級。

接著,source環境,讓rvm可用。

檢視Ruby可用版本

可以看到最新的版本是2.4.1,本文安裝2.3.0

至此,我們升級了Ruby的版本。

4)安裝gem redis介面

5)安裝rubygems

到目前為止,我們的Ruby和執行redis-trib.rb需要的環境安裝完成了。

 

3、Redis叢集搭建

有了Ruby執行環境,可以開始將之前的6個例項組建成叢集了。

有三個master,有三個是slave。 後面跟上6個例項就好了,形式就是ip:port

【此處有坑】

第一坑

需要將redis-trib.rb複製到/usr/local/bin目錄下。

第二坑

踩完第一坑後,繼續執行,發現了第二坑,還好有度娘,但是網上各種說法都有(主要參照了《極客on之路》的部落格),發現錯誤的原因是redis資料庫沒有清除。

第三坑

還是度娘靠譜,在《redis 跨機器叢集啟動出錯》部落格中找到了答案。

這是由於之間建立叢集沒有成功,需要將nodes.conf和dir裡面的檔案全部刪除。

然後重啟redis服務。

 

4、驗證叢集狀態

登入叢集客戶端,-c標識以叢集方式登入

檢視叢集狀態

相關文章