(学習ビデオ共有: redis ビデオ チュートリアル)
正式な内容を紹介する前に, まずはスタンドアロン版のredisを構築する手順を紹介します。
1. Redis クラスターの概要
2. クラスター構築に必要な環境
2.1 投票フォールト トレランス メカニズムではノードの半分以上がそれを認識する必要があるため、Redis クラスターには少なくとも 3 つのノードが必要です。あるノードが故障しダウンしているため、2ノードでクラスタを構成できません。
2.2 クラスターの高可用性を確保するには、各ノードにスレーブ ノード、つまりバックアップ ノードが必要であるため、Redis クラスターには少なくとも 6 台のサーバーが必要です。それほど多くのサーバーがなく、それほど多くの仮想マシンを起動できないため、ここで構築するのは疑似分散クラスターです。つまり、1 つのサーバーで 6 つの Redis インスタンスを仮想的に実行し、ポート番号が変更されます。 (7001-7006) もちろん、実際の本番環境の Redis クラスターのセットアップはここと同じです。
2.3 Ruby のインストール
3. クラスターを構築するための具体的な手順は次のとおりです (ファイアウォールをオフにすることに注意してください)
3.1 usr/ に新しい redis-cluster ディレクトリを作成しますクラスターノードを保存するローカルディレクトリ
3.2 redis ディレクトリの下の bin ディレクトリにあるすべてのファイルを /usr/local/redis-cluster/redis01 ディレクトリにコピーします。ここにディレクトリがあれば、自動的に作成されます。操作コマンドは次のとおりです (現在のパスに注意してください):
cp -r redis/bin/ redis-cluster/redis01
3.3 redis01 ディレクトリ内のスナップショット ファイル dump.rdb を削除し、ディレクトリ内の redis.cnf ファイルを変更します 具体的には、ポート番号を 7001 に変更する、ともう 1 つは、クラスター作成モードでコメントを開くことです。以下の図に示すように:
dump.rdb ファイルを削除します。
ポート番号を 7001 に変更します。デフォルトは 6379
のコメントをオンにします。クラスターが有効なはい
3.4 redis-cluster/redis01 ファイルの 5 つのコピーを redis-cluster ディレクトリ (redis02-redis06) にコピーし、6 つの Redis インスタンスを作成し、Redis クラスターの 6 つのノードをシミュレートします。 。次に、残りの 5 つのファイルの下にある redis.conf のポート番号をそれぞれ 7002 ~ 7006 に変更します。以下の図に示すように:
redis02-06 ディレクトリを作成します
redis.conf ファイルのポート番号を 7002-7006
# に変更します# 3.5 それでは起動 すべてのredisノードを一つずつ起動するのは面倒なので、redisノードを一括起動するためのスクリプトファイルを用意します コマンドはstart-all.sh ファイルの内容は以下の通りです:
cd redis01 ./redis-server redis.conf cd .. cd redis02 ./redis-server redis.conf cd .. cd redis03 ./redis-server redis.conf cd .. cd redis04 ./redis-server redis.conf cd .. cd redis05 ./redis-server redis.conf cd .. cd redis06 ./redis-server redis.conf cd ..3.6 起動スクリプト ファイルの作成 その後、スクリプトを実行できるように権限を変更する必要があります。手順は次のとおりです。
##3.7 start-all.sh スクリプトを実行して 6 つの Redis ノードを起動します
3.8 ok. これまでのところ、6 つの Redis ノードは正常に起動しています。 , クラスターが正式に開始されます。上記はすべて準備条件です。長く見えるので面倒だと思わないでください。実際、上記の手順は 6 つの Redis インスタンス (6 ノード) を作成して起動するという一文だけです。
クラスターを構築するには、redis 解凍ファイルのソース コードに含まれるツール (スクリプト ファイル) を使用する必要があります。このツールは Ruby スクリプト ファイルであるため、このツールの実行には、JVM 上で Java 言語を実行するのと同等の Ruby 実行環境が必要です。したがって、ruby をインストールする必要があります。手順は次のとおりです:
chmod +x start-all.sh
yum install ruby
3.9 前のステップで、ruby ツールに必要な実行環境と Ruby パッケージがインストールされました。次に、ruby スクリプト ツールをコピーする必要がありますusr/local/redis-cluster ディレクトリにコピーします。では、この Ruby スクリプト ツールはどこにあるのでしょうか?前述したように、redis 解凍ファイル、つまり redis/src ディレクトリ内の redis-trib.rb ファイルのソース コード内にあります。
3.10 Ruby ツール (redis-trib.rb) を redis-cluster ディレクトリにコピーします。手順は次のとおりです。スクリプト ファイルを使用する クラスターを構築する手順は次のとおりです。
gem install redis-3.0.0.gem
yes を手動で入力する必要がある場所があります。
この時点で、Redi クラスターは正常に確立されています。テキストの最後の段落に注目してください。各ノードに割り当てられたスロット (ハッシュ スロット) が示されています。ここには合計 6 つのノードがあり、そのうち 3 つはスレーブ ノードであるため、3 つのマスター ノードは 0 ~ 5460、5461 にマップされます。 -10922、10933-16383ソルト。
redis01/redis-cli -p 7001 -c
注意:一定要加上-c,不然节点之间是无法自动跳转的!如下图可以看到,存储的数据(key-value)是均匀分配到不同的节点的:
四、结语
呼~~~长舒一口气…终于搭建好了Redis集群。
整个过程其实挺简单,本篇主要正对入门级别的小伙伴,插入了很多图片,所以显得冗长,希望大家多多理解,如果不当之处,还望及时指正~
最后,加上两条redis集群基本命令:
1.查看当前集群信息
cluster info
2.查看集群里有多少个节点
cluster nodes
相关推荐:redis数据库教程
以上がRedis クラスター構築に関する初心者向けチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。