Instalación de RocketMQ en Linux


prefacio

El siguiente contenido de instalación solo es adecuado para principiantes. Es solo una nota escrita simplemente para aprender RocketMQ. El contenido proviene del tutorial Dark Horse RocketMQ en la estación B.


1. Introducción

El middleware de Message Queue Server es un componente importante en un sistema distribuido. Resuelve principalmente problemas como el acoplamiento de aplicaciones y el recorte de picos de tráfico. Los principales MQ actuales son principalmente RocketMQ, Kafka, RabbitMQ, etc.

Ventajas de RocketMQ sobre otros MQ:

  • Admite mensajes transaccionales (el envío de mensajes y las operaciones de base de datos mantienen la coherencia final de ambas partes, RabbitMQ y Kafka no son compatibles)
  • Admite la consistencia final de los datos entre múltiples sistemas combinados con RocketMQ (transacciones de múltiples partes, las transacciones de dos partes son la premisa)
  • Admite 18 niveles de mensajes retrasados ​​(no compatible con Kafka)
  • Admite la retransmisión de mensajes fallidos con tiempos e intervalos de tiempo específicos (Kafka no admite, RabbitMQ requiere confirmación manual)
  • Admite el filtrado de etiquetas en el lado del consumidor para reducir la transmisión de red innecesaria (es decir, el filtrado lo realiza MQ, no los consumidores. RabbitMQ y Kafka no lo admiten)
  • Admite consumo repetido (RabbitMQ no admite, Kafka admite)

RocketMQ tiene principalmente cuatro componentes principales: NameServer , Broker , Producer y Consumer
inserte la descripción de la imagen aquí

Blog de referencia: Introducción a RocketMQ y conceptos básicos


2. Descarga MQ

Descarga del sitio web oficial: enlace de descarga

Ingrese así, aquí está el enlace de descarga de la última versión de RocketMq.
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Si desea descargar la versión anterior de RocketMq, solo necesita cambiar la versión en el sitio web, por ejemplo, 4.9.3cambiar4.4.0

inserte la descripción de la imagen aquí


3. Configuración del entorno JAVA

Rocketmq requiere JDK en Linux, versión 1.8 o superior Si ha configurado un entorno Java en Linux, puede omitirlo.

Para configurar el entorno JAVA en Linux, consulte el blog: Configuración del entorno Linux-java

inserte la descripción de la imagen aquí


Cuatro, instalación MQ

Cargue el paquete de instalación descargado al
inserte la descripción de la imagen aquí
rzcomando del servidor para cargar el paquete de instalación directamente (aquí creé una carpeta en Linux de antemano mkdir /soft/rocketmqpara almacenar el software de administración)

inserte la descripción de la imagen aquí
Después de cargar a Linux, descomprima
el comando:unzip rocketmq-all-4.4.0-bin-release.zip

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Su estructura de directorios:

  • punto de referencia: aquí hay algunos archivos sh que se pueden ejecutar directamente y probar
  • bean: este directorio se usa más comúnmente y contiene algunos archivos ejecutables
  • conf: Aquí hay algunos archivos de configuración
  • lib: es el paquete jar de terceros del que depende mq

5. Iniciar MQ

(1) Inicie NameServer
e ingrese al directorio bin para iniciar cd bin/
en segundo plano onohup sh mqnamesrv & verifique el registro para ver si mq se inició correctamente o verifique el número de puerto (2) Inicie Broker y modifique las dos configuraciones antes de iniciar mq. la memoria requerida por defecto es relativamente grande, de acuerdo con su propio Para configurar el tamaño de la memoria de Linux, lo cambié a 256 256 128 aquínohup ./mqnamesrv &
inserte la descripción de la imagen aquí

tail -f ~/logs/rocketmqlogs/namesrv.log
inserte la descripción de la imagen aquí

netstat -an | grep 9876
inserte la descripción de la imagen aquí


vim runserver.sh
inserte la descripción de la imagen aquí

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

vim runbroker.sh
inserte la descripción de la imagen aquí
Aquí también se modifica a 256 256 128

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

Inicie el intermediario
nohup ./mqbroker -n localhost:9876 &
inserte la descripción de la imagen aquí
para verificar si la detección de registros es exitosa
tail -f ~/logs/rocketmqlogs/broker.log

inserte la descripción de la imagen aquí
Ver la impresión de registro nuevamente significa que el inicio se realizó correctamente.注意:不要把它给关了


6. prueba

Se abren dos ventanas, ambas en el bindirectorio , una para enviar mensajes y otra para recibir mensajes
inserte la descripción de la imagen aquí

1. Envía un mensaje

# 声明一个 namesrv 的地址
export NAMESRV_ADDR=localhost:9876
# 发送消息
./tools.sh org.apache.rocketmq.example.quickstart.Producer

inserte la descripción de la imagen aquí
PD: Si se informa un error, posibles razones:
inserte la descripción de la imagen aquí
(1) El firewall no está cerrado

Puedes desactivar el cortafuegos

# 关闭防火墙
systemctl stop firewalld.service 
# 查看防火墙的状态
firewall-cmd --state 
# 禁止firewall开机启动
systemctl disable firewalld.service

O deje que el cortafuegos abra puertos relacionados con MQ

# 开放name server默认端口
firewall-cmd --remove-port=9876/tcp --permanent
# 开放master默认端口
firewall-cmd --remove-port=10911/tcp --permanent
# 开放slave默认端口 (当前集群模式可不开启)
firewall-cmd --remove-port=11011/tcp --permanent 
# 重启防火墙
firewall-cmd --reload

(2) Verifique que el corredor esté apagado

Reinicie el servidor de nombres y el corredor, aquí diré que es causado por el cierre del corredor

2. Recibir mensajes

# 声明一个 namesrv 的地址
export NAMESRV_ADDR=localhost:9876
# 发送消息
./tools.sh org.apache.rocketmq.example.quickstart.Consumer

inserte la descripción de la imagen aquí


8. Cerrar MQ

Ingrese binal directorio ,
cierre el NameServer
sh mqshutdown namesrv
y cierre el Broker
sh mqshutdown broker

Siguiente: Construcción de la plataforma de monitoreo RocketMQ e introducción del proyecto

Supongo que te gusta

Origin blog.csdn.net/xhmico/article/details/122938904
Recomendado
Clasificación