CentOS7搭建redis叢集
阿新 • • 發佈:2018-11-12
客戶是個關係戶... 開設好centos7虛擬機器的同時還得搭建好redis叢集。安裝過程很順利,沒有遇到什麼坑。
環境介紹:兩臺centos7系統+redis 4.0.11;每臺centos上面三個節點,共6節點。
10.15.0.5 對應埠為7000 7001 7002
10.15.0.6 對應埠為7000 7001 7002
注意 ,redis 叢集使用redis-trib.rb 必須3主3從 ,也就是6個節點!
具體步驟如下:
1.下載redis軟體包,解壓
cd /usr/local/software wgethttp://download.redis.io/releases/redis-4.0.11.tar.gz tar -zxvf redis-4.0.11.tar.gz cd redis-4.0.11
2. 安裝軟體
make && make install
3. 配置軟體
將redis-trib.rb複製到/usr/local/bin目錄下
cd src
cp redis-trib.rb /usr/local/bin
建立軟體以及節點執行目錄,複製配置檔案
cd /usr/local mkdir redis-cluster cd redis-cluster mkdir redis-4.0.11-node1 redis-4.0.11-node2 redis-4.0.11-node3 cd redis-4.0.11-node1 mkdir logs data cd /usr/local/software/redis-4.0.11 cp redis.conf /usr/local/redis-cluster/redis-4.0.11-node1 cp redis.conf /usr/local/redis-cluster/redis-4.0.11-node2 cp redis.conf /usr/local/redis-cluster/redis-4.0.11-node3 cd src cp redis.cli redis.server /usr/local/redis-cluster/redis-4.0.11-node1 cp redis.cli redis.server /usr/local/redis-cluster/redis-4.0.11-node2 cp redis.cli redis.server /usr/local/redis-cluster/redis-4.0.11-node3
修改配置檔案,6個節點都要修改
vim /usr/local/redis-4.0.11-node1/redis.conf //其他兩個類似
找到以下資訊並參照如下修改
bind 10.15.0.5 //需要改為其他節點機器可訪問的ip 否則無法成功建立叢集 port 7000 //埠號根據節點對應分配 7000,7001,7002 daemonize yes //redis後臺執行 pidfile /usr/local/redis-cluster/redis-4.0.11-node1/redis_7000.pid //pidfile檔案對應7000,7001,7002 cluster-enabled yes //開啟叢集 cluster-config-file nodes_7000.conf //叢集的配置 配置檔案首次啟動自動生成 7000,7001,7002 cluster-node-timeout 15000 //請求超時時間 appendonly yes logfile "/usr/local/redis-cluster/redis-4.0.11-node1/logs/redis_7001.log" //配置日誌檔案路徑 dir "/usr/local/redis-cluster/redis-4.0.11-node1/data" //配置資料檔案存放路徑
4. 執行節點
cd /usr/local/redis-cluster/redis-4.0.11-node1
./redis.server redis.conf
cd /usr/local/redis-cluster/redis-4.0.11-node2
./redis.server redis.conf
cd /usr/local/redis-cluster/redis-4.0.11-node3
./redis.server redis.conf
//可以建立指令碼,設定開機自啟動
//檢查是否執行
ps -ef | grep redis
5. 利用redis-trib.rb建立叢集
安裝依賴ruby
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis
如果出現如下錯誤,需要升級Ruby
curl -L get.rvm.io | bash -s stable
如果出現如下錯誤,需要獲得金鑰
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
#執行如下指令
curl -sSL https://get.rvm.io | bash -s stable
安裝ruby
source /usr/local/rvm/scripts/rvm
rvm list known #檢視安裝版本
rvm install 2.3.0
6. 安裝gem redis介面
rvm use 2.3.0
rvm remove 1.8.7
ruby --version
gem install redis
7. 安裝rubygems
yum install -y rubygems
8. 建立叢集
記得在防火牆上面放行對應埠
redis-trib.rb create --replicas 1 10.15.0.5:7000 10.15.0.5:7001 10.15.0.5:7002 10.15.0.6:7000 10.15.0.6:7001 10.15.0.6:7002
###呼叫 ruby 命令來進行建立叢集,--replicas 1 表示主從複製比例為 1:1,即一個主節點對應一個從節點。
如果連線失敗,檢查防火牆等;再者,將logs和data檔案先清空,重啟redis。出現下圖,表示叢集建立成功!
9. 測試連線
隨便進入一個節點,設定k值。
redis-cli -h 10.15.0.5 -c -p 7000
set name ashq
### 另外選一個節點驗證name
redis-cli -h 10.15.0.6 -c -p 7002
get name
###可看到name為ashq,成功!
10. 寫在最後
成功往往並不代表結束,還需更深入地學習。
動態擴容、增加節點和減少節點,重新分配槽大小,怎麼跟程式結合等。