redis 叢集安裝
阿新 • • 發佈:2018-12-08
以埠名(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文件