部署集羣以前,需求停掉以前的redis進程和哨兵;
redis cluster雖然支持集羣,會自動進行主從分佈,但實際上是不支持讀寫分離的。
1.redis cluster 重要配置
cluster-enabled
cluster-config-file <filename>
這是指定一個文件,供cluster模式下的redis實例將集羣狀態保存在那裏,包括集羣中其餘機器的信息,好比節點的上線和下限,故障轉移,不是咱們去維護的,給它指定一個文件,讓redis本身去維護的
cluster-node-timeout <milliseconds>
節點存活超時時長,超過必定時長,認爲節點宕機,master宕機的話就會觸發主備切換,slave宕機就不會提供服務html
準備啓動腳本
/ect/init.d 下 複製redis_6379 重命名爲 redis_7001 修改相應端口
4.建立集羣
yum install -y ruby
yum install -y rubygem
gem install redis
最後一步的時候報錯了:redis須要 ruby version > 2.2的版本
參考後在線升級了ruby的版本:http://www.javashuo.com/article/p-cbdmvsiu-ko.html
cp /usr/local/redis-3.2.8/src/redis-trib.rb /usr/local/bin
redis-trib.rb create --replicas 1 192.168.1.107:7001 192.168.1.107:7002 192.168.1.108:7003 192.168.1.108:7004 192.168.1.105:7005 192.168.1.105:7006node
--replicas參數: 每一個master有幾個slavemysql
最後使用 redis-trib.rb check 192.168.1.107:7001 檢查redis cluster部署狀況,也能夠查詢redis log日誌redis
因爲redis cluster不支持讀寫分離,在set get數據的時候會根據計算出來key的splot不一樣 會提示move to
可使用 readonly 在從節點上讀取主節點數據;
使用redis-cli -h host -p port -c 強制自動進行底層重定向sql
redis cluster 其餘參數和命令參考:
http://blog.csdn.net/mysqldba23/article/details/67640478ruby