Linux 安裝Redis<集群版>(使用Mac遠程訪問) ...
閱讀本文需要先閱讀安裝Redis<準備>
一 架構細節
所有的redis節點彼此互聯(PING-PONG機制) 內部使用二進位協議優化傳輸速度和帶寬
節點的fail是通過集群中超過半數的節點檢測失效時才生效
客戶端與redis節點直連 不需要中間代理層 客戶端不需要連接集群所有節點 連接集群中任何一個可用節點即可
redis-cluster把所有的物理節點映射到[0-16383]slot上 cluster負責維護(redis集群中內置了16384個哈希槽 當需要在redis集群中放置一個key-value時 redis先對key使用crc16演算法算出一個結果 然後把結果對16384求餘數 這樣每個key都會對應一個編號在0-16383之間的哈希槽 redis會根據節點數量大致均等的將哈希槽映射到不同的節點)
redis集群中至少應該有三個節點 要保證集群的高可用 需要每個節點有一個備份機
redis集群至少需要6台伺服器
這裡我準備了6台伺服器
120.79.191.xxx 39.108.121.xxx 120.77.148.xxx 39.108.162.xxx 120.79.62.xxx 112.74.54.xxx
二 在六台伺服器上分別安裝運行redis
redis依賴
yum install gcc-c++
解壓
cd redis壓縮包所在目錄
tar -xvf redis-4.0.10.tar.gz
編譯
cd redis解壓包內部 -> cd /hy/redis-4.0.10
make
make install PREFIX=/usr/local/redis
配置文件準備
cp /hy/redis-4.0.10/redis.conf /usr/local/redis/bin
編輯(根據key修改value)
vim /usr/local/redis/bin/redis.conf
# 註釋掉bind # bind 127.0.0.1 # 設置後臺啟動 daemonize yes # 設置集群密碼 masterauth redis12345 # 設置單機密碼 requirepass redis12345 # 開啟集群 cluster-enabled yes # 設置集群節點超時 cluster-node-timeout 15000
進入bin目錄
cd /usr/local/redis/bin
啟動
./redis-server redis.conf
三 選擇其中一臺伺服器配置集群
ruby環境
yum install curl
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
source ~/.bashrc
source ~/.bash_profile
source /usr/local/rvm/scripts/rvm
rvm list known
rvm install 2.5.1
rvm use 2.5.1
安裝ruby腳本庫
cd ruby腳本庫壓縮包所在目錄
gem install redis-4.0.1.gem
編輯(根據key修改value)
vim /usr/local/rvm/gems/ruby-2.5.1/gems/redis-4.0.1/lib/redis/client.rb
:host => "0.0.0.0",
:password => "redis12345",
腳本文件準備
cp /hy/redis-4.0.10/src/redis-trib.rb /usr/local/redis/bin
執行腳本命令
cd /usr/local/redis/bin
./redis-trib.rb create --replicas 1 120.79.191.xxx:6379 39.108.121.xxx:6379 120.77.148.xxx:6379 39.108.162.xxx:6379 120.79.62.xxx:6379 112.74.54.xxx:6379