1. 程式人生 > >redis 叢集安裝

redis 叢集安裝

以埠名(7001,7002,7003,7004,7005,7006)新建資料夾,存放叢集節點的配置檔案

cd /usr/local/src/redis-4.0.2/
mkdir -p ./cluster/7001 # 同理新建其他目錄
cp ./redis.conf ./cluster/7001 
vi ./cluster/7001 # 開啟修改配置檔案

要修改的配置內容

port  7001                              # 埠7001,7002,7003        
bind localhost                          # 預設ip為127.0.0.1 需要改為其他節點機器可訪問的ip 否則建立叢集時無法訪問對應的埠,無法建立叢集
daemonize yes # redis後臺執行 pidfile /var/run/redis_7001.pid # pidfile檔案對應7000,7001,7002 cluster-enabled yes # 開啟叢集 把註釋#去掉 cluster-config-file nodes_7001.conf # 叢集的配置 配置檔案首次啟動自動生成 7000,7001,7002 cluster-node-timeout 15000 # 請求超時 預設15秒,可自行設定 appendonly yes
# aof日誌開啟 有需要就開啟,它會每次寫操作都記錄一條日誌 

儲存修改後,啟動所有redis叢集例項

./src/redis-server ./redis_cluster/7000/redis.conf # 其他例項同理

建立叢集

# 要讓叢集正常運作至少需要三個主節點,不過在剛開始試用叢集功能時, 強烈建議使用六個節點: 其中三個為主節點, 而其餘三個則是各個主節點的從節點。
# --replicas 1 表示我們希望為叢集中的每個主節點建立一個從節點
# 測試叢集不啟用驗證
./src/redis-trib.rb create --replicas 1
192.168.1.213:7001 192.168.1.213:7002 192.168.1.213:7003 192.168.1.213:7004 192.168.1.213:7005 192.168.1.213:7006 # 如果叢集啟動不了,提示slot被佔用,則需重置叢集,原因是搭建叢集前時,以前redis的舊資料和配置資訊沒有清理乾淨 # 進入每個叢集客戶端,執行如下命令後,重新啟動叢集即可 ./src/redis-cli -p 7001 127.0.0.1:7001> flushall 127.0.0.1:7001> cluster reset

檢視叢集節點資訊

CLUSTER NODES # 檢視叢集節點
CLUSTER INFO  # 檢視叢集資訊

存取值時,redis叢集會連線到值儲存所在槽位對應的redis例項上

192.168.1.213:7003> set test bb # 在7003對應的redis上
-> Redirected to slot [6918] located at 192.168.1.213:7002
OK
192.168.1.213:7002> # 跳轉至7002對應的redis上

如果丟擲MOVED ERR,則需重新啟動任意一個叢集客戶端,並新增-c引數,說明:-c Enable cluster mode (follow -ASK and -MOVED redirections)

./src/redis-cli -p 7001 -c # Enable cluster mode (follow -ASK and -MOVED redirections)

參考資料:Redis 叢集教程

redis叢集依賴ruby環境,版本需要2.2.2以上

ruby 原始碼安裝

cd /home/
wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.gz # 從官網下載ruby原始碼
tar xzf ruby-2.3.3.tar.gz # 解壓原始碼包
cd ./ruby-2.3.3.tar.gz
./configure # 配置依賴
make & make install # 編譯安裝
# make uninstall # 在安裝目錄下執行,可解除安裝

如果以上安裝好ruby後,仍然不能啟動redis叢集,則採用下面的rvm安裝方式。

ruby rvm安裝

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -L get.rvm.io | bash -s stable
source ~/.bashrc
source ~/.bash_profile
# 修改 RVM 的 Ruby 安裝源到 Ruby China 的 Ruby 映象伺服器,這樣能提高安裝速度
echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db
rvm list known # 列出已知的 Ruby 版本
rvm install 2.2.7 --disable-binary # 安裝一個 Ruby 版本
# rvm use 2.2.0 --default # 切換ruby版本,並設定預設

安裝完之後再安裝ruby的redis擴充套件

gem install redis 

參考資料:Ruby文件