ホームページ >データベース >Redis >Centos7 で redis5 クラスターを構築して使用する方法

Centos7 で redis5 クラスターを構築して使用する方法

WBOY
WBOY転載
2023-06-01 11:37:061616ブラウズ

1. 簡単な説明

クラスター内には少なくとも 3 つのノードが存在し、各ノードにはバックアップ ノードが必要です。 6 台のサーバーが必要です。

条件が限定されている場合は、擬似分散クラスターを構築できます。次の手順は、Linux サーバー上に 6 ノードの Redis クラスターを構築します。

2. クラスターを作成する手順

2.1. ディレクトリを作成します

新しいディレクトリ: mkdir / usr/local /redis-cluster

2.2. ソース コードをダウンロードし、解凍してコンパイルします

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

3. 6 つの 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 をそれぞれ変更します

4、ノードを起動します

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.shwill# を実行します。 ##start -all.sh実行可能ファイルになります

現在のディレクトリで開始します:

./startall.sh

View:

ps aux |grep redis

<img src="https://img.php.cn/upload/article/000/887/227/168559062896660.jpg" alt="Centos7 で redis5 クラスターを構築して使用する方法">

5. クラスターを開始します

バージョン 5.0 を使用しているため.0 redis を使用してクラスターを構築するには、コンパイルされた redis ディレクトリ内の redis-cli ファイルを redis-cluster ディレクトリにコピーするだけです。 (redis バージョン 5.0 以降は、C 言語で直接起動されます)

/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 &#39;yes&#39; 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. クラスターの操作

6.1. クラスターのシャットダウン

方法 1:

提供by redis5 クラスターをシャットダウンするためのツールは次のディレクトリにあります:

/root/redis-5.0.0/utils/create-cluster

このファイルを開き、以下に示すように、ポートを独自の に変更します。

ポートの prot は 7000 に設定され、ノードは 6 です。ツールは自動的に 1 を累積して 6 つのノード 7001 を生成します。操作用 -7006。 Centos7 で redis5 クラスターを構築して使用する方法

下を見てパスを変更し、IP アドレスを追加します。追加しない場合は、デフォルトでローカルの 127.0.0.1

変更後、次のコマンドを実行します。次のコマンドを使用してクラスターをシャットダウンします: Centos7 で redis5 クラスターを構築して使用する方法

/root/redis-5.0.0/utils/create-cluster/create-cluster stop

方法 2:

create-cluster directory スクリプト ファイルを作成します: vim shutdown.sh

内容は次のとおりです:

/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

を実行してシャットダウンします。 .sh を実行可能ファイルに変換します。

現在のディレクトリから開始します: ./shutdown.sh

View: ps aux|grep redis

Official:/usr/local/redis -cluster/redis-cli -a xxx -c - h 192.168.5.100 -p 8001

ヒント: -a アクセスサーバーのパスワード、-c はクラスターモードを示し、-h は IP アドレスを指定し、-p はポート番号

6.2、クラスターを再起動します

/root/redis-5.0.0/utils/create-cluster/create-cluster start

6.3. スクリプト ファイル起動クラスターを使用します

vim startall.sh 次の内容を追加します: (自分の IP アドレスを変更することを忘れないでください)
/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

開始: ./startall.sh

7.

redis01/redis-cli -h 192.168.25.153 -p 7002 -c

## を実行します。テスト クラスター内

#redis-cluster ディレクトリ #ここで、-c はクラスター モードで Redis に接続することを示し、-h は IP アドレスを指定し、-p はポート番号を指定します

clusterノード クラスター ノード情報のクエリ #クラスター情報 クラスター ステータス情報のクエリ

以上がCentos7 で redis5 クラスターを構築して使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。