redis擬似クラスタ構築


redis3.0バージョンでは主にredisクラスタ機能が追加されました.
Waiting for the cluster to joinは長い間反応していませんでした
Err slot 0 is already busy(redis::commanderror)解決
 
一、前提条件
①yum install gcc-c++

②ruby  

    :

yum install ruby

yum install rubygems

③ruby redis     

  redis-3.0.0.gem  /usr/local/redis 

    :

gem install /usr/local/redis/redis-3.0.0.gem

二、クラスタ環境計画
6台のサーバー(三主三従)
プライマリノード:
111.231.87.104:7001 111.231.87.104:7002 111.231.87.104:7003
ノードから:
111.231.87.104:7004 111.231.87.104:7005 111.231.87.104:7006
 
三、擬似クラスタ環境の構築
コマンドの実行:
cd /usr/local

mkdir redis-cluster

  /usr/local/redis/bin redis-cluster   

  6 redis

    :

cd /usr/local/redis

cp -r bin /usr/local/redis-cluster/redis01

      

port:7001

cluster-enable yes

  /mysoft/redis/*.rb  redis-cluster 

    /    

    

./redis-trib.rb create --replicas 1 192.168.52.128:7001 192.168.52.128:7002 192.168.52.128:7003 192.168.52.128:7004 192.168.52.128:7005 192.168.52.128:7006

       

./redis01/redis-cli -h 111.231.87.104 -p 7001 -c

-h IP  

-p    

-c     

四、問題解決
①err slot 0 is already busy (redis::commanderror)
カードスロットが占有される
チェックコマンド
./redis-trib.rb check 111.231.87.104:7001
修復コマンド
./redis-trib.rb fix 111.231.87.104:7001
データが必要でない場合は、生成されたファイルを削除します.
②Waiting for the cluster to joinをずっと待っていたが反応しなかった
redisクラスタはクライアントポートだけでなくクラスタバスポートも開通する必要がある
現在のポート番号+10000が必要
7001 → 17001
7002 → 17002
7003 → 17003
7004 → 17004
7005 → 17005
7006 → 17006
ここでは6つのredisインスタンスを開き、12ポート番号が必要です.
 
 
 
.