Construcción del clúster Rabbitmq (clúster espejo)

entorno de construcción

el anfitrión IP nombre de la CPU
MQ01 192.168.0.107 conejomq01
MQ02 192.168.0.86 conejomq02

Instalar MQ

Descargar MQ

wget wget https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.16-1.el7.noarch.rpm
wget https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.2.7-1.el7.x86_64.rpm

Instalar MQ

yum localinstall -y erlang-23.2.7-1.el7.x86_64.rpm
yum localinstall -y rabbitmq-server-3.8.16-1.el7.noarch.rpm

Escribir archivo maestro

touch /etc/rabbitmq/rabbitmq.conf
chow .rabbitmq /etc/rabbitmq/ -R
Vim /etc/rabbitmq/rabbitmq.conf
#禁止来宾访问
loopback_users.guest = false
#监听端口
listeners.tcp.default = 5672
#默认用户名和密码
default_pass = admin
default_user = admin
#WEB管理端端口
management.tcp.port = 15672
management.tcp.ip = 0.0.0.0
#WEB默认访问路径(建议不配置)
management.path_prefix=mq

Modificar datos, ubicación de almacenamiento de registro

mkdir /data/rabbitmq/{
    
    logs/data}
chown rabitmq:rabbitmq /data/rabbitmq -R
vim /etc/rabbitmq/rabbitmq-env.conf
#添加如下两行内容
RABBITMQ_MNESIA_BASE=/data/rabbitmq/data
RABBITMQ_LOG_BASE=/data/rabbitmq/logs 

Iniciar MQ

systemctl stop firewalld
systemctl start rabbitmq-server

Establecer conexión de nombre de host

MQ01:

hostnamectl set-hostname rabbitmq01
bash
echo "192.168.0.86    rabbitmq02" >>/etc/hosts
echo "192.168.0.107   rabbitmq01" >>/etc/hosts
ping rabbitmq02

MQ02:

hostnamectl set-hostname rabbitmq02
bash
echo "192.168.0.86    rabbitmq02" >>/etc/hosts
echo "192.168.0.107   rabbitmq01" >>/etc/hosts
ping rabbitmq01

set.erlang.cookie

MQ01:

echo "Weihu2023@" >/var/lib/rabbitmq/.erlang.cookie
systemctl restart rabbitmq-server

MQ02:

echo "Weihu2023@" >/var/lib/rabbitmq/.erlang.cookie
systemctl restart rabbitmq-server

Construir un clúster

El nodo se une al clúster

MQ02:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@rabbitmq01
rabbitmqctl start_app

De forma predeterminada, RabbitMQ comienza como un nodo de disco. Si desea unirse como un nodo de memoria, puede agregar el parámetro --ram.
Si desea modificar el tipo de nodo, puede utilizar el comando:

rabbitmqctl change_cluster_node_type disc(ram)

Tenga en cuenta que dado que los nodos de RAM solo almacenan tablas de bases de datos internas en la memoria, estos datos deben sincronizarse desde otros nodos cuando se inicia el nodo de RAM, por lo que un clúster debe contener al menos un nodo de disco.

establecer el nombre del clúster

rabbitmqctl set_cluster_name rabbitmq_test_cluster

En este punto, se ha creado el clúster ordinario. Si necesita configurar un clúster reflejado, debe continuar realizando las siguientes operaciones

Configurar un clúster reflejado

  • configuración de la línea de comandos
rabbitmqctl set_policy "queue_policy_test" "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'

inserte la descripción de la imagen aquí
ver reglas

 rabbitmqctl list_policies

inserte la descripción de la imagen aquí

  • Configuración de la interfaz de administración
    1. Crear reglas
    inserte la descripción de la imagen aquí
    inserte la descripción de la imagen aquí
各参数含义如下:
Name:                policy 的名称。
Pattern:             queue 的匹配模式(正则表达式)。
Definition:         镜像定义,主要有三个参数:ha-mode, ha-params, ha-sync-mode。
ha-mode:            指明镜像队列的模式,有效值为 all、exactly、nodes。其中 all 表示在集群中所有的节点上进行镜像(默认即此);exactly 表示在指定个数的节点上进行镜像,节点的个数由 ha-params 指定;nodes 表示在指定的节点上进行镜像,节点名称通过 ha-params 指定。
ha-params:          exactly 模式需要用到的参数,
ha-sync-mode:       进行队列中消息的同步方式,有效值为 automatic 和 manual。
priority 为可选参数,表示 policy 的优先级。

2. Verifique las reglas
inserte la descripción de la imagen aquí
3. Verifique las reglas (cree una cola en un nodo aleatorio y verifique si está sincronizado con dos nodos)

  • Antes de crear una política espejo
    inserte la descripción de la imagen aquí
    inserte la descripción de la imagen aquí

  • Después de crear la política espejo
    inserte la descripción de la imagen aquí
    inserte la descripción de la imagen aquí

Comandos comunes de clúster

Ver el estado del clúster

rabbitmqctl cluster_status

Supongo que te gusta

Origin blog.csdn.net/weixin_49566876/article/details/130324451
Recomendado
Clasificación