クラスター内には少なくとも 3 つのノードが存在し、各ノードにはバックアップ ノードが必要です。 6 台のサーバーが必要です。
条件が限定されている場合は、擬似分散クラスターを構築できます。次の手順は、Linux サーバー上に 6 ノードの Redis クラスターを構築します。
新しいディレクトリ: mkdir / usr/local /redis-cluster
wget http://download.redis.io/releases/redis-5.0.0.tar.gz tar xzf redis-5.0.0.tar.gz cd redis-5.0.0 make make install prefix=/usr/local/redis
6 つの構成ファイルを同じディレクトリに置くことはできません。ここでは、次のように定義します:
/root/software/redis/redis-cluster-conf/7001 /redis.conf
/root/software/redis/redis-cluster-conf/7002/redis.conf
/root/software/redis/redis-cluster-conf/7003/redis.conf
/ root/software/redis/redis-cluster-conf/7004/redis.conf
/root/software/redis/redis-cluster-conf/7005/redis.conf
/root/software/redis/redis- cluster-conf/7006/redis.conf
一部の運用コマンドは参考用です:
cp redis.conf /usr/local/redis/bin cd /usr/local/redis/ cp -r bin ../redis-cluster/redis01 cd /usr/local/redis-cluster/redis01 rm dump.rdb #删除快照 vim redis.conf
設定ファイルの内容は次のとおりです:
port 7001 #端口 cluster-enabled yes #启用集群模式 cluster-config-file nodes.conf cluster-node-timeout 5000 #超时时间 appendonly yes daemonize yes #后台运行 protected-mode no #非保护模式 pidfile /var/run/redis_7001.pid bind 172.20.10.7 #127.0.0.1改为本机ip地址,可用ifconfig查看ip
ポートおよび pidfile はフォルダーに応じて調整する必要があります。
残りの 5 つのインスタンスを作成します:
[root@master redis-cluster]# cp -r redis01/ redis02 [root@master redis-cluster]# cp -r redis01/ redis03 [root@master redis-cluster]# cp -r redis01/ redis04 [root@master redis-cluster]# cp -r redis01/ redis05 [root@master redis-cluster]# cp -r redis01/ redis06
redis02 ~ redis06 の redis.conf にあるポートと pidfile をそれぞれ変更します
redis01、redis02、...redis06 ディレクトリをそれぞれ入力し、次を実行します。 ./redis-server ./redis.conf
バッチ ファイルを作成し、次の場所で 6 つの redis
を起動します。同時にvim startall.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 ..
次に、chmod u x start-all.sh
will# を実行します。 ##start -all.sh実行可能ファイルになります
./startall.sh
ps aux |grep redis
<img src="https://img.php.cn/upload/article/000/887/227/168559062896660.jpg" alt="Centos7 で redis5 クラスターを構築して使用する方法">
/usr/local/redis-cluster/redis-cli --cluster create 172.20.10.7:7001 172.20.10.7:7002 172.20 . 10.7:7003 172.20.10.7:7004 172.20.10.7:7005 172.20.10.7:7006 --cluster-replicas 1開始後、次のような成功メッセージが表示されます。
>>> performing hash slots allocation on 6 nodes... master[0] -> slots 0 - 5460 master[1] -> slots 5461 - 10922 master[2] -> slots 10923 - 16383 adding replica 172.20.10.7:7004 to 172.20.10.7:7001 adding replica 172.20.10.7:7005 to 172.20.10.7:7002 adding replica 172.20.10.7:7006 to 172.20.10.7:7003 >>> trying to optimize slaves allocation for anti-affinity [warning] some slaves are in the same host as their master m: a4128b5e581c3722acd9b093c5f29f5056f680b0 172.20.10.7:7001 slots:[0-5460] (5461 slots) master m: d6fed6f21269b8469a3076ac5fb168bd20f70c26 172.20.10.7:7002 slots:[5461-10922] (5462 slots) master m: 51a0f62dacead745ce5351cdbe0bdbae553ce413 172.20.10.7:7003 slots:[10923-16383] (5461 slots) master s: 45cc35740ac67f7988bb75325871ba12d08a76e4 172.20.10.7:7004 replicates a4128b5e581c3722acd9b093c5f29f5056f680b0 s: 668054fe16cdf8741152cae863f5c636ed18b803 172.20.10.7:7005 replicates d6fed6f21269b8469a3076ac5fb168bd20f70c26 s: ae39b7db285703f8c08412d6b04998c60a634295 172.20.10.7:7006 replicates 51a0f62dacead745ce5351cdbe0bdbae553ce413 can i set the above configuration? (type 'yes' to accept):yes
yes と入力して Enter を押します
>>> 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 172.20.10.7:7001) m: a4128b5e581c3722acd9b093c5f29f5056f680b0 172.20.10.7:7001 slots:[0-5460] (5461 slots) master 1 additional replica(s) m: d6fed6f21269b8469a3076ac5fb168bd20f70c26 172.20.10.7:7002 slots:[5461-10922] (5462 slots) master 1 additional replica(s) s: 45cc35740ac67f7988bb75325871ba12d08a76e4 172.20.10.7:7004 slots: (0 slots) slave replicates a4128b5e581c3722acd9b093c5f29f5056f680b0 m: 51a0f62dacead745ce5351cdbe0bdbae553ce413 172.20.10.7:7003 slots:[10923-16383] (5461 slots) master 1 additional replica(s) s: 668054fe16cdf8741152cae863f5c636ed18b803 172.20.10.7:7005 slots: (0 slots) slave replicates d6fed6f21269b8469a3076ac5fb168bd20f70c26 s: ae39b7db285703f8c08412d6b04998c60a634295 172.20.10.7:7006 slots: (0 slots) slave replicates 51a0f62dacead745ce5351cdbe0bdbae553ce413 [ok] all nodes agree about slots configuration. >>> check for open slots... >>> check slots coverage... [ok] all 16384 slots covered.##この時点で、reids5 クラスターが完成します。
6. クラスターの操作
/root/redis-5.0.0/utils/create-cluster
このファイルを開き、以下に示すように、ポートを独自の に変更します。
ポートの prot は 7000 に設定され、ノードは 6 です。ツールは自動的に 1 を累積して 6 つのノード 7001 を生成します。操作用 -7006。
下を見てパスを変更し、IP アドレスを追加します。追加しない場合は、デフォルトでローカルの 127.0.0.1変更後、次のコマンドを実行します。次のコマンドを使用してクラスターをシャットダウンします:
/root/redis-5.0.0/utils/create-cluster/create-cluster stop
方法 2:
内容は次のとおりです:
/usr/local/redis-cluster/redis-cli -c -h 172.20.10.7 -p 7001 shutdown /usr/local/redis-cluster/redis-cli -c -h 172.20.10.7 -p 7002 shutdown /usr/local/redis-cluster/redis-cli -c -h 172.20.10.7 -p 7003 shutdown /usr/local/redis-cluster/redis-cli -c -h 172.20.10.7 -p 7004 shutdown /usr/local/redis-cluster/redis-cli -c -h 172.20.10.7 -p 7005 shutdown /usr/local/redis-cluster/redis-cli -c -h 172.20.10.7 -p 7006 shutdown
次に、
chmod u x shutdown.sh
現在のディレクトリから開始します: ./shutdown.sh
6.2、クラスターを再起動します
6.3. スクリプト ファイル起動クラスターを使用します
/usr/local/redis-cluster/redis-cli --cluster create 172.20.10.7:7001 172.20.10.7:7002 172.20.10.7:7003 172.20.10.7:7004 172.20.10.7:7005 172.20.10.7:7006 --cluster-replicas
7.
clusterノード クラスター ノード情報のクエリ
#クラスター情報 クラスター ステータス情報のクエリ
以上がCentos7 で redis5 クラスターを構築して使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。