Redisのクラスタは、少なくとも3つのマスターノードを必要とし、我々は3つのマスターノードを構築し、その後、1台のマシンが(複数のマシンを展開することができ、各スレーブノードにマスター、6つのノードのRedisの合計を、設定、IPアドレスを変更するためにここにいますアドレスa)は次のようにクラスタを構築するステップから6つのRedis例えば、主要3及び3を展開することができます。
ステップ1:最初のマシンは/ usr / local / RedisのでフォルダのRedisクラスターを作成し、以下のように6つのクリップファイルをその下に作成します。
ます。mkdir -pは/ usr / local /のRedis / Redisのクラスタ
Redisのクラスタディレクトリを入力し、フォルダを作成6
MKDIR 7002 7003 7004 7005 7006 7001
ステップ2:redis.confコンフィギュレーションファイルのコピーの前に7001に、以下のように変更:
CP /usr/local/redis/redis-5.0.5/redis.confは/ usr / local /のRedis / Redisのクラスタ/ 7001
説明:Redisの-5.0.5のソースパッケージが展開されます
次の設定を変更します。
1 //デーモン化するために、はいRedisの背景 2 ポート7001(ポート番号は、マシンごとに設定されている) 。3 PidFileオプション/var/run/redis_7001.pid // ... 7006 PidFileオプションファイル7000,7002,7003に対応する 。4 クラスタ-有効はい//コメント#削除する場合は、クラスタを有効に 5 ...自動的にクラスタノード-config設定ファイル- 7001.conf //クラスタ構成を初めて起動したときのための設定ファイルを生成7006 7001,7002,7003 6 クラスタノードのタイムアウト5000 // 5秒を設定要求のタイムアウトは十分にある 。7 appendOnlyはい//が、それはログが記録されて書き込むたびにオンにするAOFが必要なログ 。8 バインド127.0.0.1(IPバインドバインドされたアクセス情報を削除します) 。9 保護-MODE NO(保護モードオフ) 10 #dirは/ usr / local /のRedis / Redisのクラスタ/ 7001 /(別のディレクトリの場所を指定する必要があり、または構成が存在しない場合は、データを失うことになる、自分自身を追加し、データファイルの場所を指定します)
パスワードを設定したい場合は、次のように高くする必要があります。
11の requirepassのXXX(Redisのアクセスパスワードを設定) 12 masterauthのXXX(パスワード設定にアクセスするためのクラスタノード間は上記と一致しています)
第三段階:変更された構成ファイル、ポート番号の項目2,3,5を変更し、8002から8006へのコピーが一括で置換することができます。
最初のコピー:
1つの CP /usr/local/redis/redis-cluster/7001/redis.confは/ usr / local /のRedis / Redisのクラスタ/ 7002 2 CP /usr/local/redis/redis-cluster/7001/redis.conf / USR /ローカル/ Redisの/ Redisのクラスタ/ 7003 3 CP /usr/local/redis/redis-cluster/7001/redis.confは/ usr / local /のRedis / Redisのクラスタ/ 7004 4 CPは/ usr / local / Redisの/ Redisの-cluster / 7001 / redis.confは/ usr / local /のRedis / Redisのクラスタ/ 7005 5 CP /usr/local/redis/redis-cluster/7001/redis.confは/ usr / local /のRedis / Redisのクラスタ/ 7006
そして、それぞれのvim redis.confを実行するディレクトリに対応します
%S /ストリングのソース/デスティネーション・ストリング/ G
:%S / 7001/7002 / G
:%S / 7001/7003 / G
:%S / 7001/7004 / G
:%S / 7001/7005 / G
:%S / 7001/7006 / G
7001に7002を交換してください
ディレクトリがあるなどとして、元に戻して、一貫性のあるグローバルディレクトリ7003 7003を置き換えます
ステップ4:6が正常に起動するかどうかをチェックし、Redisの例を開始しました
1 は/ usr / local / Redisの/ binに/のRedisサーバ/usr/local/redis/redis-cluster/7001/redis.conf 2 は/ usr / local / Redisの/ binに/のRedisサーバは/ usr / local / Redisの/ Redisの-cluster / 7002 / redis.conf 3 は/ usr / local / Redisの/ binに/のRedisサーバ/usr/local/redis/redis-cluster/7003/redis.conf 4 は/ usr / local / Redisの/ binに/のRedisサーバ/usr/local/redis/redis-cluster/7004/redis.conf 5 は/ usr / local / Redisの/ビン/ Redisのサーバ/usr/local/redis/redis-cluster/7005/redis.conf 6は/ usr / local / Redisの/ binに/ Redisのサーバー/usr/local/redis/redis-cluster/7006/redis.conf
正常に起動するかどうかを確認してください
PS-EFを使用してください|グレップのRedisのは成功した6つのノードを起動するかどうかを見て
PS -ef | grepをするのRedis
ステップ5:RedisのはRedisの-CLIを使用してクラスタ全体を作成します(クラスタの以前のバージョンをredis5 RubyスクリプトのRedisの-trib.rbを達成依存することです)
コマンドを実行します。
/ usr / local / Redisの/ binに/ Redisの-CLI --cluster 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 --cluster-を作成レプリカ1
説明:Redisの5.xのクラスタ環境を必要としないルビーを作成します。
--cluster-replicas 1 命令的意思是创建master的时候同时创建一个slave
これは、クラスタ3masterの3slaverを作成します
yesと入力します
これは、クラスタが完成を作成するために見ていることを示しています
ステップ7:クラスタの検証:
1)クライアントのいずれかに接続することができます。
./redis-cli -c -a XXX -h 192.168.5.100 -p 7001
ヒント:-aパスワードは、サーバーにアクセスするためのクラスタモデルを表す-c、IPアドレスとポート番号を指定します(パスワードがない場合、-aはxxxは省略することができます)
このコマンドを実行します。
オープンポート7001クライアントが値を設定します
./redis-cli -c -p 7001
出口ノードは、ポート7002を入力します。
私たちは、7002ポートも値とすることができることがわかりました
2)確認するクラスタ情報(ビュークラスタ情報)を、クラスタノード(ノードのリストを参照)
3)データの検証
4))クラスタコマンドを使用して、一つ一つをシャットダウンする必要があります:(テンプレートシャットダウン
/ usr / local / Redisの/ SRC / Redisの-CLI -a XXX -c -h 192.168.0.60 -p 8001シャットダウン
次のコマンドを実行します。
/ usr / local / Redisの/ binに/ Redisの-CLI -c -p 7001シャットダウン
説明7001がオフになっています
ヒント:クラスタを構築した後、彼らはまだメインの操作、バックアップコピーからデータを作ることができます。
参考:
https://www.jianshu.com/p/8045b92fafb2
https://blog.csdn.net/qq_36514588/article/details/83856795
https://blog.csdn.net/woyixinyiyi/article/details/87967911
https://blog.csdn.net/hoopopo_wll/article/details/84925563
https://my.oschina.net/ruoli/blog/2252393 (redis5 提供了关闭集群的工具)
在这里非常感谢以上作者的劳动果实。