阿里雲[CentOS 7.2] Redis Cluster 搭建

準備工做

添加Redis對應端口到ip白名單

systemctl status firewalld node

Active: inactive (dead)  --關閉redis

Active: active (running)  --運行中spring

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=6001/tcp --permanent
firewall-cmd --zone=public --add-port=6002/tcp --permanent
firewall-cmd --zone=public --add-port=6003/tcp --permanent
firewall-cmd --zone=public --add-port=6004/tcp --permanent
firewall-cmd --zone=public --add-port=6005/tcp --permanent
firewall-cmd --zone=public --add-port=6006/tcp --permanent
apache

firewall-cmd --reloadapi

systemctl start firewalldruby

firewall-cmd --zone=public --list-portsbash

安裝ruby

ruby --versionapp

curl -sSL https://get.rvm.io | bash -s stablecurl

##引入證書
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
tcp

curl -sSL https://get.rvm.io | bash -s stable

source /usr/local/rvm/scripts/rvm

rvm list known

##選一個版本的ruby

rvm reload
rvm install 2.2.2

ruby --version

安裝Redis

mkdir -p {/usr/dev/redis_cluster/log,/usr/dev/redis_cluster/6001,/usr/dev/redis_cluster/6002,/usr/dev/redis_cluster/6003,/usr/dev/redis_cluster/6004,/usr/dev/redis_cluster/6005,/usr/dev/redis_cluster/6006,/usr/dev/redis_cluster/6007,/usr/dev/redis_cluster/6008,/usr/dev/redis_cluster/6009,/usr/dev/redis_cluster/6010}

vi /usr/dev/redis_cluster/redis.conf

port 6001
dbfilename 6001.rdb
cluster-config-file nodes-6001.conf
pidfile /usr/dev/redis_cluster/redis_6001.pid
logfile "/usr/dev/redis_cluster/log/6001.log"
appendfilename "appendonly_6001.aof"
bind 10.115.1.25
protected-mode yes
cluster-enabled yes
daemonize yes
appendonly yes
cluster-node-timeout 15000

echo /usr/dev/redis_cluster/6001 /usr/dev/redis_cluster/6002 /usr/dev/redis_cluster/6003 /usr/dev/redis_cluster/6004 /usr/dev/redis_cluster/6005 /usr/dev/redis_cluster/6006 /usr/dev/redis_cluster/6007 /usr/dev/redis_cluster/6008 | xargs -n 1 cp -v /usr/dev/redis_cluster/redis.conf

##編輯對應redis.conf

vi /usr/dev/redis_cluster/600*/redis.conf

wget http://download.redis.io/releases/redis-3.2.1.tar.gz /usr/dev/

tar zxvf /usr/dev/redis-3.2.1.tar.gz -C /usr/dev/

cd /usr/dev/redis-3.2.1
make

chmod 755 -R /usr/dev/redis_cluster

gem install redis -v 3.2.1

##啓動各節點

/usr/dev/redis-3.2.1/src/redis-server /usr/dev/redis_cluster/6001/redis.conf
/usr/dev/redis-3.2.1/src/redis-server /usr/dev/redis_cluster/6002/redis.conf
/usr/dev/redis-3.2.1/src/redis-server /usr/dev/redis_cluster/6003/redis.conf
/usr/dev/redis-3.2.1/src/redis-server /usr/dev/redis_cluster/6004/redis.conf
/usr/dev/redis-3.2.1/src/redis-server /usr/dev/redis_cluster/6005/redis.conf
/usr/dev/redis-3.2.1/src/redis-server /usr/dev/redis_cluster/6006/redis.conf

/usr/dev/redis-3.2.1/src/redis-trib.rb create --replicas 1 10.115.1.25:6001 10.115.1.25:6002 10.115.1.25:6003 10.115.1.25:6004 10.115.1.25:6005 10.115.1.25:6006

驗證

/usr/dev/redis-3.2.1/src/redis-cli -c -h 10.115.1.25 -p 6001

##cluster nodes

##查看dbsize

/usr/dev/redis-3.2.1/src/redis-trib.rb info 10.115.1.25:6001

擴容

/usr/dev/redis-3.2.1/src/redis-server /usr/dev/redis_cluster/6007/redis.conf
/usr/dev/redis-3.2.1/src/redis-server /usr/dev/redis_cluster/6008/redis.conf

##若是添加的是主節點,只需指定源節點和目標節點的地址便可

/usr/dev/redis-3.2.1/src/redis-trib.rb add-node 10.115.1.25:6007 10.115.1.25:6001

##若是添加的是從節點,其語法以下[注意:--slave和--master-id必須寫在前面,一樣的參數,若是是下面這樣寫法,會提示錯]

/usr/dev/redis-3.2.1/src/redis-trib.rb add-node --slave --master-id b976432fac89d66876a7ced89dcc0d0be85cc13f 10.115.1.25:6008 10.115.1.25:6001

##先模擬查看redis cluster 的執行計劃
##模擬rebalance
/usr/dev/redis-3.2.1/src/redis-trib.rb rebalance --use-empty-masters --simulate 10.115.1.25:6001

##執行rebalance

/usr/dev/redis-3.2.1/src/redis-trib.rb rebalance --use-empty-masters 10.115.1.25:6001

##驗證

/usr/dev/redis-3.2.1/src/redis-trib.rb info 10.115.1.25:6001

rebalance 前

rebalance 後

## yml

spring:
#redis cluster 配置
  redis:
    timeout: 10000
    cluster:
      nodes: 10.115.1.25:6001
      maxRedirects: 6
    pool:
      max-active: 1024 #最大鏈接數
      max-idle: 10 #最大空閒鏈接數
      max-wait: -1 #獲取鏈接最大等待時間 ms

##

zip -r redis_cluster.zip redis_cluster

unzip -n /usr/dev/redis_cluster.zip -d /usr/dev

相關文章
相關標籤/搜索