Heim > Datenbank > Redis > So erstellen und verwenden Sie einen Redis5-Cluster unter Centos7

So erstellen und verwenden Sie einen Redis5-Cluster unter Centos7

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2023-06-01 11:37:06
nach vorne
1646 Leute haben es durchsucht

1. Kurzbeschreibung

Es sollten mindestens drei Knoten im Cluster vorhanden sein, und jeder Knoten hat einen Backup-Knoten. Es sind 6 Server erforderlich.

Wenn die Bedingungen begrenzt sind, kann eine Pseudoverteilung erstellt werden. Die folgenden Schritte dienen zum Aufbau eines Redis-Clusters mit 6 Knoten auf einem Linux-Server.

2. Schritte zum Erstellen eines Clusters

2.1. Erstellen Sie ein Verzeichnis

Neues Verzeichnis: mkdir /usr/local/redis-clustermkdir /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
Nach dem Login kopieren

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
Nach dem Login kopieren

配置文件的内容为:

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
Nach dem Login kopieren

其中 port 和 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
Nach dem Login kopieren

分别修改redis02 ~ redis06 的 redis.conf下的port 和 pidfile

4、启动节点

分别进入redis01、redis02、...redis06目录,执行: ./redis-server ./redis.conf

创建一个批处理文件,同时启动着六个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 ..
Nach dem Login kopieren

然后执行chmod u+x start-all.shstart-all.sh变成可执行文件

在当前目录下启动: ./startall.sh

查看:ps aux|grep redis

<img src="https://img.php.cn/upload/article/000/887/227/168559062896660.jpg" alt="So erstellen und verwenden Sie einen Redis5-Cluster unter Centos7" />

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
Nach dem Login kopieren

输入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 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.
Nach dem Login kopieren

至此,reids5 集群搭建完成。

6、集群的操作

6.1、关闭集群

方法一:

redis5 提供了关闭集群的工具,在如下目录:

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

打开此文件修改端口为我们自己的,如下所示:

So erstellen und verwenden Sie einen Redis5-Cluster unter Centos7

端口prot设置为7000,nodes为6,工具会自动累加1 生成 7001-7006 六个节点 用于操作。

往下看再修改路径 和 添加 ip地址,如果不加会默认本地127.0.0.1

So erstellen und verwenden Sie einen Redis5-Cluster unter Centos7

修改后,执行如下命令关闭集群:

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

方法二:

create-cluster目录下编写脚本文件: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
Nach dem Login kopieren

然后执行chmod u+x shutdown.sh将shutdown.sh变成可执行文件

在当前目录下启动: ./shutdown.sh

查看:ps aux|grep redis

官方:/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
Nach dem Login kopieren

 启动:./startall.sh

7、测试集群

redis-cluster目录下执行

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

2.2. Laden Sie den Quellcode herunter, entpacken und kompilieren Sie ihn

rrreee

3. Erstellen Sie 6 Redis-Konfigurationsdateien

Die 6 Konfigurationsdateien dürfen sich nicht im selben Verzeichnis befinden. Hier wir Definieren Sie es wie folgt: 🎜

/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🎜🎜Einige Betriebsbefehle sind Nur als Referenz: 🎜rrreee🎜Konfiguration Der Inhalt der Datei ist: 🎜rrreee🎜Der Port und die PID-Datei müssen entsprechend den verschiedenen Ordnern angepasst werden. 🎜🎜Erstellen Sie die verbleibenden 5 Instanzen: 🎜rrreee🎜Ändern Sie den Port und die PID-Datei unter redis.conf von redis02 ~ redis06.🎜

🎜4 Starten Sie den Knoten. ...redis06-Verzeichnis, ausführen: ./redis-server ./redis.conf🎜🎜Erstellen Sie eine Batchdatei und starten Sie sechs Redis gleichzeitig🎜🎜vim startall.sh🎜🎜Fügen Sie Folgendes hinzu Inhalt: 🎜rrreee🎜Dann führen Sie chmod u+x start-all.sh aus, um start-all.sh in eine ausführbare Datei umzuwandeln🎜🎜Starten Sie im aktuellen Verzeichnis: ./startall.sh🎜🎜Ansicht: ps aux|grep redis🎜🎜<img src="https://img.php.cn/upload/article%20/%20000/887/227/168559062896660.jpg" alt="Methoden zum Erstellen und Verwenden eines Redis5-Clusters unter Centos7">🎜

🎜5. Starten Sie den Cluster🎜🎜🎜 Weil wir den Cluster, der mit der Version 5.0.0 von Redis erstellt wurde, nur die Redis-CLI-Datei im kompilierten Redis-Verzeichnis in das Redis-Cluster-Verzeichnis kopieren müssen. (Nach Redis-Version 5.0 wird es direkt in der C-Sprache gestartet)🎜

/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🎜

🎜Nach dem Start sehen Sie die Erfolgsmeldung wie folgt: 🎜rrreee🎜Geben Sie „Ja“ ein und drücken Sie die Eingabetaste 🎜rrreee🎜Das war’s, der reids5-Cluster ist fertig. 🎜

🎜6. Clusterbetrieb🎜🎜

🎜6.1. Herunterfahren des Clusters🎜🎜🎜Methode 1:🎜🎜 redis5 bietet ein Tool zum Herunterfahren den Cluster. Im folgenden Verzeichnis: 🎜🎜/root/redis-5.0.0/utils/create-cluster🎜🎜 Öffnen Sie diese Datei, um den Port in unseren eigenen zu ändern, wie unten gezeigt: 🎜🎜 Methoden zum Erstellen und Verwenden eines Redis5-Clusters unter Centos7🎜🎜Stellen Sie den Portschutz ein auf 7000 und Knoten auf 6, das Tool akkumuliert automatisch 1, um sechs Knoten 7001-7006 für den Betrieb zu generieren. 🎜🎜Schauen Sie nach unten, ändern Sie den Pfad und fügen Sie die IP-Adresse hinzu. Wenn Sie sie nicht hinzufügen, wird standardmäßig lokal 127.0.0.1 verwendet. 🎜🎜So erstellen und verwenden Sie einen Redis5-Cluster unter Centos7🎜🎜Führen Sie nach der Änderung den folgenden Befehl aus, um den Cluster herunterzufahren: 🎜🎜/root/redis -5.0.0/utils/create-cluster/create -cluster stop🎜🎜Methode 2: 🎜🎜Schreiben Sie eine Skriptdatei in das Create-Cluster-Verzeichnis: vim Shutdown.sh
Der Inhalt ist wie folgt : 🎜rrreee🎜Dann führen Sie chmod u+x Shutdown.sh ausVerwandeln Sie Shutdown.sh in eine ausführbare Datei🎜🎜Starten Sie es im aktuellen Verzeichnis: ./shutdown.sh🎜🎜Ansicht: ps aux|grep redis🎜🎜Offiziell:/usr/local/redis-cluster/redis-cli -a xxx -c -h 192.168.5.100 -p 8001🎜🎜Tipps: -a Zugriffsserverkennwort, -c gibt den Clustermodus an, -h gibt die IP an Adresse, -p gibt die Portnummer an🎜<h3 id="yisu3h-to199 ">🎜6.2, starten Sie den Cluster neu🎜🎜🎜<code>/root/redis-5.0.0/utils/create-cluster/create-cluster start🎜<h3 id="yisu3h-to203">🎜6.3 , verwenden Sie die Skriptdatei, um den Cluster zu starten 🎜🎜🎜vim startall.sh und fügen Sie den folgenden Inhalt hinzu: (Denken Sie daran, Ihre IP-Adresse zu ändern) 🎜rrreee🎜 Starten : ./startall.sh🎜<h2 id="yisu3h-to209">🎜7. Cluster testen 🎜🎜🎜Im Redis-Cluster-Verzeichnis ausführen🎜🎜<code>redis01/redis-cli -h 192.168.25.153 -p 7002 -c🎜🎜wobei -c bedeutet, eine Verbindung zu Redis im Cluster-Modus herzustellen, -h gibt die IP-Adresse an, -p gibt die Portnummer an🎜🎜Cluster-Knoten Abfragen von Cluster-Knoteninformationen🎜🎜Cluster-Informationen Abfragen von Cluster-Statusinformationen🎜

Das obige ist der detaillierte Inhalt vonSo erstellen und verwenden Sie einen Redis5-Cluster unter Centos7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage