2016-01-05 17 views
9

待望のクラスタリング機能を含むMSOpenTech Redis version 3.xをダウンロードしました。私のredisデータベースはすべて動作しており、必要な最小3ノード(クラスタモード)でクラスタを起動できます。誰もがクラスタを設定する方法を知っていますか(誰も知らないようです)? LinuxをインストールしてネイティブLinux版を稼働させることは、悲しいことではありません。 ご協力いただければ幸いです。Windows上のredisクラスタセットアップ

答えて

8

Redis Cluster Tutorialに続き、redis-trib.rbルビースクリプトを使用できるクラスタを作成するには、Ruby for Windowsをインストールする必要があります。例えば

> C:\Ruby22\Bin\ruby.exe redis-trib.rb create --replicas 1 192.168.1.1:7000 192.168.1.1:7001 192.168.1.1:7002 192.168.1.1:7003 192.168.1.1:7004 192.168.1.1:7005 
+1

それは不満です:55: 'require ':そのようなファイルを読み込むことができません - redis(LoadError) 何か提案がありますか? – AlexS

+4

@Woland Redis Ruby Gemをインストールする必要があります。 gem.exeへの正しいパスを検索する必要がありますが、管理者として、 'C:\ Ruby22 \ Bin \ gem.exe install redis'を実行してください。 – uxp

+0

以下のコマンドを使用してgemをインストールします。" gem install redis " –

1

は、Windows上でのRubyをインストールするオプションを持っていますが、私のために働いた手動の手順が見つかりませんでした。 Rubyスクリプトは、設定が正しく設定されているかどうかを確認するためによく使われる設定ルートです。だから、、ここではドラゴンズになりますように注意してください。

各ノードをクラスタモードで実行するように設定します。 redis.windows-service.confファイルを編集してコメントを外します。

cluster-enabled yes 
cluster-config-file nodes-6379.conf 
cluster-node-timeout 15000 

サービスを再開してください。

「PowerShell」ウィンドウを実行し、「Redis installed」フォルダに移動して、redis-cliを起動します。例えば

cd "C:\Program Files\Redis" 
.\redis-cli.exe 

これで、他のノードに参加することができます。起こっているインスタンスよりも、他の各ノードのIPADDRESS PORTをCLUSTERで実行してください。例えば

CLUSTER MEET 10.10.0.2 6379 
接続されたすべてのノードをリストする必要があり

CLUSTER NODES 

を実行し、数秒後

が、すべてをMASTERとして設定されます。

他の各ノードで、CLUSTER REPLICATE MASTERNODEIDを実行します。ここでMASTERNODEIDは、クラスタノードを実行しているときにノード上で "自分"と宣言したハッシュルックの値です。例えば

CLUSTER REPLICATE b7c767ab3ab7c4a926ac2fed937cf140b96764a7 

ここで、各マスターにスロットを割り当てます。私のセットアップには3つのインスタンスがあり、1つのマスターしかありません。

for ($slot=0;$slot -le 16383;$slot++) { 
    .\redis-cli.exe -h REDMST CLUSTER ADDSLOTS $slot 
} 

redis-cliに再接続し、データを保存してみてください。例えば

泥棒!これは、Windows固有のものではないhttps://www.javacodegeeks.com/2015/09/redis-clustering.html#InstallingRedisという読者から得られたものです。