Развертывание очереди сообщений Apache RocketMQ и установка визуального интерфейса

RocketMQ
Развертывание очереди сообщений Apache RocketMQ и установка визуального интерфейса

1. Введение

Apache RocketMQ — это промежуточное ПО для обмена сообщениями с распределенной моделью очереди с малой задержкой, высокой производительностью и высокой надежностью, емкостью триллиона уровней и гибкой масштабируемостью. Основной компонент состоит из четырех частей:Name Servers,Brokers,ProducerиConsumer; каждый из них можно масштабировать по горизонтали без единого вышедшего из строя узла.

file

  1. NameServer: Это почти не сохраняющий состояние узел, который можно развернуть в кластерах без какой-либо синхронизации информации между узлами.
  2. Broker: Развертывание относительно сложно. Брокеры делятся на Master и Slave. Один Master может соответствовать нескольким Slaver, но один Slaver может соответствовать только одному Master. Соответствующие отношения между Master и Slaver определяются указанием одного и того же BrokerName и разных BrokerId. , а BrokerId равен 0. Представляет Master, не-0 представляет Slaver. Мастер может развернуть несколько. Каждый брокер устанавливает долгосрочные соединения со всеми узлами в кластере NameServer и регулярно регистрирует информацию Topic на всех NameServer.
  3. Producer: Установите постоянное соединение с одним из узлов (случайно выбранных) в кластере NameServer, периодически получайте информацию о маршрутизации темы от NameServer, устанавливайте постоянное соединение с главным сервером, предоставляющим службы тем, и регулярно отправляйте контрольные сигналы главному устройству. Продукт полностью не имеет состояния и может быть развернут в кластерах.
  4. Consumer: Установите постоянное соединение с одним из узлов (выбранным случайным образом) в кластере NameServer, периодически получайте информацию о маршрутизации темы от NameServer, устанавливайте постоянные соединения с главным и подчиненным серверами, которые предоставляют службы тем, и регулярно отправляйте контрольные сигналы главному и подчиненному узлам. Потребители могут подписаться на сообщения от Мастера или от Ведомого.Правила подписки определяются конфигурацией Брокера.

 

2. Установка и развертывание MQ

2.1. Скачать

Непосредственно найдите последнюю версию, загрузите ее и разархивируйте.ракета в настоящее время.apache.org/release_not…

file

 

2.2. Изменить конфигурацию

Исправлятьconf/broker.confДобавьте следующую конфигурацию

file

BrokerIP1: Настройте IP-адрес сервера, на котором расположен брокер, чтобы DNS-сервер мог подключиться.

  Исправлятьrunserver.shиrunbroker.sh(нельзя изменить)Поскольку параметры запуска RocketMQ по умолчанию занимают много памяти, если в среде не так много памяти, ее необходимо изменить.JAVA_OPTпараметр

  • runserver.sh
    file
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
  • runbroker.sh
    file
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

 

2.3. Запуск DNS-сервера

nohup sh bin/mqnamesrv &

Просмотрите журнал выполнения: tail -f ~/logs/rocketmqlogs/namesrv.log

 

2.4. Запуск брокера

nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &

Укажите файл конфигурации с параметром -c Просмотрите текущий журнал: tail -f ~/logs/rocketmqlogs/broker.log

 

2.5 Как остановить службу

Если вам нужно остановить службу RocketMQ, не рекомендуется использовать kill непосредственно в рабочей среде, вы должны использовать следующую команду

sh bin/mqshutdown broker

sh bin/mqshutdown namesrv

 

3. Установите визуальный интерфейс управления

mvn clean package -Dmaven.test.skip=true
  • бегать
nohup java -jar \
    -Drocketmq.config.namesrvAddr=192.168.28.130:9876 \
    -Drocketmq.config.isVIPChannel=false \
    rocketmq-console-ng-1.0.0.jar &

 

В-четвертых, общая обработка исключений

4.1. MQClientException: No route info of this topic, TopicTest1

4.1.1 Описание исключения

на клиентеProducerПричиной выдачи исключения «Нет информации о маршруте этой темы» при запуске и подготовке к отправке сообщения может быть:

  1. BrokerОтключить автоматическое созданиеTopic, и пользователь не создал тему вручную
  2. Brokerнеправильно подключен кName Server
  3. Producerнеправильно подключен кName Server

 

4.1.2 Решения

  • Устранение неполадок 1:BrokerОтключить автоматическое созданиеTopic, а пользователь не создается вручнуюTopic
    • Вы можете выполнить «sh bin/mqbroker -m» в каталоге, где находится RocketMQ, чтобы просмотреть параметры конфигурации брокера.
    • Следующее,autoCreateTopicEnable=trueДокажи, что все в порядке
      file

 

  • Устранение неполадок 2:Brokerнеправильно подключен кName ServerПросмотр журнала брокераtail -f ~/logs/rocketmqlogs/broker.logПроверьте наличие сообщений об ошибках

 

  • Проверить 3:Producerнеправильно подключен кName Server
    1. Проверить подключение программыName ServerАдрес неправильный?
    2. Если на облачном сервере, проверьте конфигурацию группы безопасности9876Порт развит?
    3. Проверьте, включен ли брандмауэр, если да, включите брандмауэр.9876портbash [root@zlt rocketmq-all-4.5.0-bin-release]# firewall-cmd --zone=public --list-ports 8090/tcp 80/tcp 8080/tcp [root@zlt rocketmq-all-4.5.0-bin-release]# firewall-cmd --zone=public --add-port=9876/tcp --permanent success [root@zlt rocketmq-all-4.5.0-bin-release]# firewall-cmd --reload success [root@zlt rocketmq-all-4.5.0-bin-release]# firewall-cmd --zone=public --list-ports 9876/tcp 8090/tcp 80/tcp 8080/tcp

 

4.2. RemotingTooMuchRequestException: sendDefaultImpl call timeout

4.2.1 Описание исключения

  • на клиентеProducerПри запуске и готовности отправить сообщение возникает исключение следующим образом
  • обычно потому чтоName Serverне могу подключитьсяBroker
    file

 

4.2.2 Решения

экзаменrocketmq-consoleвкладка кластер,brokerАдрес правильный?

file
brokerСпособ настройки адреса см.安装部署Шаги, упомянутые в:

  1. Исправлятьbroker.confконфигурация, добавитьbrokerIP1параметр
  2. запускатьbrokerдобавить когда-cКонфигурационный файл, определяющий параметры

 

4.3. Невозможно получать/просматривать сообщения темы очереди недоставленных сообщений

file

4.3.1 Описание исключения

Очередь недоставленных сообщений по умолчаниюpermЗначение 2 не имеет разрешения на просмотр  

4.3.2 Решения

поставить очередь в консолиpermПросто измените его на 6 ** Тема нажмитеTOPIC配置 **

file
изменить завивку
file

 

Рекомендуемое чтение

  Отсканируйте код, чтобы следовать за сюрпризом!

file