- Redisのビルドクラスター
- Redisのクラスタアーキテクチャ図
- 建築の詳細:
(1)ノードのすべてが相互接続され、Redisの(PING-PONG機構)、バイナリプロトコルと帯域幅の最適化を使用して、内部伝送速度。
失敗(2)は、複数のノードの半分よりによってノードクラスタが障害を検出したときに有効にすることです。
(3)は、クライアント・ノードは、中間層プロキシなしで、接続されているのRedis。クライアントは、利用可能なノードに接続されたクラスタ内のすべてのクラスタノードに接続される必要はありません
< - >スロット< - >値(4)0から16383]スロットにすべての物理ノードのマッピングクラスタRedisの、クラスタノードを維持します
16384個のクラスタ各キーが対応するように構築されたRedisのハッシュキー値をRedisの、RedisのCRC16アルゴリズムキー最初に計算結果を使用して、クラスタ内に配置されるスロット、および16384の残りの数の結果、溝間号0から16383ハッシュ、Redisのノードの数に応じて異なるノードにマッピングされたハッシュスロットに実質的に等しくなります
-
- Redisのビルドクラスター
- クラスタセットアップ環境
- Redisのビルドクラスター
1、クラスタを構築するRubyスクリプトを使用しました。動作環境ルビー必要があります。
ルビーのインストール
yumをインストールルビー
yumをRubyGemsのインストール
- Rubyスクリプトを使用するインストールパッケージ。
[ルート@ localhostの〜]#宝石インストールRedisの-3.0.0.gem
正常にインストールRedisの-3.0.0
1つの宝石インストール
Redisの-3.0.0用の里のドキュメントをインストールします...
Redisの-3.0.0のためにはRDocドキュメントをインストールします...
[ルート@ localhostの〜]#
[ルート@ localhostの〜]#のCDはRedisの-3.0.0 / srcに
[ルート@ localhostのソース]#のLL * .RB
-rwxrwxr-X。1ルートルート48141 2015年4月1日のRedis-trib.rb
-
-
- ビルドステップ
-
Redisのは、6台のサーバーが必要です。疑似分散を構築します。
Redisのは、6つのインスタンスが必要です。
あなたは別のポートで実行する必要が7001から7006
ステップ1:それぞれが別のポートで実行されている、6つのRedisのインスタンスを作成します。設定ファイルを変更する必要がRedis.conf。クラスタ対応はいを削除する前に、コンフィギュレーションファイルにもコメントにする必要があります。
ステップ2:スタート各Redisのインスタンス。
第三段階:使用ルビースクリプトクラスタを構築します。
1 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003 192.168.25.153:7004 192.168.25.153:7005 192.168.25.153:7006 --replicas作成./redis-trib.rb |
クラスタを閉じるためのスクリプトを作成します。
[ルート@ localhostのRedisのクラスタ]#vimのshutdow-all.sh
redis01 / Redisの-CLI -p 7001シャットダウン
redis01 / Redisの-CLI -p 7002シャットダウン
redis01 / Redisの-CLI -p 7003シャットダウン
redis01 / Redisの-CLI -p 7004シャットダウン
redis01 / Redisの-CLI -p 7005シャットダウン
redis01 / Redisの-CLI -p 7006シャットダウン
[ルート@ localhostのRedisのクラスタ]#chmodのU + X shutdow-all.sh
[ルート@ localhostのRedisのクラスタ]#./redis-trib.rbは1 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003 192.168.25.153:7004 192.168.25.153:7005 192.168.25.153 --replicas作成します。 7006 >>>作成クラスタ ノード192.168.25.153:7001への接続:OK ノード192.168.25.153:7002への接続:OK ノード192.168.25.153:7003への接続:OK ノード192.168.25.153:7004への接続:OK ノード192.168.25.153:7005への接続:OK ノード192.168.25.153:7006への接続:OK >>> 6つのノードにハッシュスロット割り当てを実行... 3つのマスターを使用します: 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003 192.168.25.153:7001にレプリカ192.168.25.153:7004を追加します 192.168.25.153:7002にレプリカ192.168.25.153:7005を追加します 192.168.25.153:7003にレプリカ192.168.25.153:7006を追加します M:2e48ae301e9c32b04a7d4d92e15e98e78de8c1f3 192.168.25.153:7001 slots:0-5460 (5461 slots) master M: 8cd93a9a943b4ef851af6a03edd699a6061ace01 192.168.25.153:7002 slots:5461-10922 (5462 slots) master M: 2935007902d83f20b1253d7f43dae32aab9744e6 192.168.25.153:7003 slots:10923-16383 (5461 slots) master S: 74f9d9706f848471583929fc8bbde3c8e99e211b 192.168.25.153:7004 replicates 2e48ae301e9c32b04a7d4d92e15e98e78de8c1f3 S: 42cc9e25ebb19dda92591364c1df4b3a518b795b 192.168.25.153:7005 replicates 8cd93a9a943b4ef851af6a03edd699a6061ace01 S: 8b1b11d509d29659c2831e7a9f6469c060dfcd39 192.168.25.153:7006 replicates 2935007902d83f20b1253d7f43dae32aab9744e6 Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join..... >>> Performing Cluster Check (using node 192.168.25.153:7001) M: 2e48ae301e9c32b04a7d4d92e15e98e78de8c1f3 192.168.25.153:7001 slots:0-5460 (5461 slots) master M: 8cd93a9a943b4ef851af6a03edd699a6061ace01 192.168.25.153:7002 slots:5461-10922 (5462 slots) master M: 2935007902d83f20b1253d7f43dae32aab9744e6 192.168.25.153:7003 slots:10923-16383 (5461 slots) master M: 74f9d9706f848471583929fc8bbde3c8e99e211b 192.168.25.153:7004 slots: (0 slots) master replicates 2e48ae301e9c32b04a7d4d92e15e98e78de8c1f3 M: 42cc9e25ebb19dda92591364c1df4b3a518b795b 192.168.25.153:7005 slots: (0 slots) master replicates 8cd93a9a943b4ef851af6a03edd699a6061ace01 M: 8b1b11d509d29659c2831e7a9f6469c060dfcd39 192.168.25.153:7006 slots: (0 slots) master replicates 2935007902d83f20b1253d7f43dae32aab9744e6 [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. [root@localhost redis-cluster]# |
-
- 集群的使用方法
Redis-cli连接集群。
[root@localhost redis-cluster]# redis01/redis-cli -p 7002 -c
-c:代表连接的是redis集群