redis cluster配置和簡單初始化
阿新 • • 發佈:2018-12-25
-------------環境安裝------------
#安裝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
#安裝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 "
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 ~