1. 程式人生 > >redis cluster配置和簡單初始化

redis cluster配置和簡單初始化

-------------環境安裝------------
#安裝redis


wget http://download.redis.io/releases/redis-3.2.5.tar.gz
tar xzf redis-3.2.5.tar.gz
cd redis-3.2.5
make


在src目錄存在src/redis-trib.rb   不需要執行gem install redis
#安裝ruby


./configure --prefix=/home/tianchao/ruby/
make
make test 可以檢測下編譯情況
make install






--------------redis cluster 配置和初始化-------------------------
######搭建3個master 3個slave
#cluster 配置檔案內容
#redis.conf檔案簡單配置
port 7000  #node埠
cluster-enabled yes  #
cluster-config-file nodes.conf  #node配置檔案 由redis-server自動生成 可以在在配置檔案中定義各個node的槽點SLOTS   總共有16384個槽點(0-16383)
cluster-node-timeout 5000
appendonly yes


#自動生成的nodes.conf


7fa72486fc68c2a9cb2f45a8ef95bb5c3348bfff 127.0.0.1:7003 slave 0afae694268bcf3c45a6232886267b868fc9288d 0 1479112805646 3 connected
7ae84ac6ef6163b612b1ceb7e7f78651fe5eaac4 127.0.0.1:7004 slave 02a6ab969a95abf3b35f97598d9cfe0064eee8e2 0 1479112804644 5 connected
807603744c0467cf6a6036f0ebefdcf0849ef174 127.0.0.1:7002 master - 0 1479112806750 4 connected 10923-16383   
0afae694268bcf3c45a6232886267b868fc9288d 127.0.0.1:7000 master - 0 1479112806649 2 connected 0-5460   
990bae4f4d60ab02a260bde2cb92a69f5660c235 127.0.0.1:7005 slave 807603744c0467cf6a6036f0ebefdcf0849ef174 0 1479112804388 6 connected
02a6ab969a95abf3b35f97598d9cfe0064eee8e2 127.0.0.1:7001 myself,master - 0 0 1 connected 5461-10922 
vars currentEpoch 6 lastVoteEpoch 0


redis-trib.rb會自動分配16384個槽點
或者需要手動分配




######命令執行 不使用ruby指令碼


mkdir 7000 7001 7002 7003 7004 7005




#初始化nodes
/home/tianchao/redis_instance.sh 7000 7001 7002 7003 7004 7005
/home/tianchao/redis_instance.sh 7000 7001 7002 7003 7004 7005 7006 7007


#初始化redis cluster
/home/tianchao/ruby/bin/ruby /home/tianchao/redis/redis-3.2.5/src/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
/home/tianchao/ruby/bin/ruby /home/tianchao/redis/redis-3.2.5/src/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 127.0.0.1:7007




###########新增節點




#重啟
ps -ef | grep redis | awk '{print $2}' | xargs kill






for i in "
[email protected]
";
do
    cd 'redis/nodes/'$i
    /home/tianchao/redis/redis-3.2.5/src/redis-server ./redis.conf --port $i&
done




/home/tianchao/ruby/bin/ruby ./create-cluster create




flushdb


cluster reset

mk_cluster.sh

#!/bin/bash

for i in "[email protected]";
do
        path='/home/tianchao/redis/nodes/'${i}
        mkdir $path
        chmod 755 $path
        cd $path
        redis_config="port ${i}
\ncluster-enabled yes 
\ncluster-config-file nodes.conf
\ncluster-node-timeout 5000
\nappendonly yes"
        echo -e $redis_config > $path"/redis.conf"
done
~