多主機 Redis 叢集搭建
1、Redis安裝包
連結:https://pan.baidu.com/s/1VPm2RZFohhL3xLhCzfgBUg 密碼:qfn5
叢集環境:
192.168.195.129 7001、7002埠
192.168.195.128 7003、7004埠
192.168.195.130 7005、7006埠
2、叢集所需元件 ruby 、rubygems、gcc
檢視當前ruby 版本:
ruby -v
需安裝2.3以上版本ruby。
# 安裝ruby yum --enablerepo=centos-sclo-rh -y install rh-ruby23 # 載入環境變數 [
[email protected] ~]# scl enable rh-ruby23 bash [[email protected] ~]# ruby -v ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux] [[email protected] ~]# which ruby /opt/rh/rh-ruby22/root/usr/bin/ruby # 登入自動啟用Ruby 2.3 [[email protected] ~]# vim /etc/profile.d/rh-ruby23.sh #!/bin/bash source /opt/rh/rh-ruby23/enable export X_SCLS="'scl enable rh-ruby23 'echo $X_SCLS''" export PATH=$PATH:/opt/rh/rh-ruby23/root/usr/local/bin
安裝rubygems
yum install rubygems
redis結合ruby
gem install redis
安裝gcc
yum -y install gcc gcc-c++ libstdc++-devel
3、叢集配置
1) 以192.168.195.129為例,其他兩臺主機操作一致。
在該主機 /usr/local下建立redis資料夾,將redis-3.2.8.tar.gz 上傳至資料夾下。解壓
tar –zxvf redis-3.2.8.tar.gz
2) 在 /usr/local下新建 cluster資料夾,用於放置叢集配置檔案
cd /usr/local mkdir cluster
3) 在 cluster目錄下建立每個例項單獨存放的資料夾 7001 、7002。(別的主機新增對應的資料夾)
cd cluster
mkdir 7001 7002
4) 進入解壓後的redis檔案,複製redis.conf到/usr/local/cluster下面,並執行命令 make install PREFIX=/usr/local/redis2
cd /usr/local/redis/redis-3.2.8
cp redis.conf /usr/local/cluster/
make install PREFIX=/usr/local/redis2
5) 進入cd /usr/local/redis2,複製 bin 檔案到 7001、7002目錄下
cd /usr/local/redis2
cp -r bin /usr/local/cluster/7001
cp -r bin /usr/local/cluster/7002
6) 進入 cluster 目錄,修改redis.conf並分別拷貝到 7001、7002下.
① 遮蔽限制本地訪問,將 bind 127.0.0.1修改為 bind 192.168.195.129
② protected-mode後的yes改為no
③ daemonize後的no改為yes
④ 去掉cluster-enabled yes前面的#(按Esc鍵退出i編輯模式,輸入/,再輸入cluster-enabled,回車,就可以快速找到)
⑤ 去掉cluster-node-timeout 方法同4
⑥ port後的埠號改為7001,將redis.conf檔案,複製到對應的包下。
⑦ 儲存,並拷貝到 7001資料夾下
cp redis.conf 7001
⑧ 重新編輯,port 改為 7002,拷貝到 7002資料夾。
cp redis.conf 7002
4、分別在三臺主機上啟動各自的例項
進入cd /usr/local/redis/redis-3.2.8/src下,執行
./redis-trib.rb create --replicas 1 192.168.195.129:7001 192.168.195.129:7002 192.168.195.128:7003 192.168.195.128:7004 192.168.195.130:7005 192.168.195.130:7006
cd /usr/local/redis/redis-3.2.8/src
./redis-trib.rb create --replicas 1 192.168.195.129:7001 192.168.195.129:7002
192.168.195.128:7003 192.168.195.128:7004 192.168.195.130:7005 192.168.195.130:7006
啟動成功後,可通過任意主機,檢視叢集資訊
5、測試叢集
可通過任意主機,啟動客戶端進入叢集
在別的主機啟動客戶端 也可以訪問到,Redis叢集成功