Как настроить RabbitMQ Cluster в Windows - PullRequest
0 голосов
/ 29 октября 2018

Пожалуйста, мне нужна ваша помощь.

Я с прошлой недели пытаюсь настроить кластер RabbitMQ на серверах Windows. Я переустанавливал RabbitMQ 3.7.8 и ErlangOTP 21-1 более 15 раз, пытаясь выяснить проблему и исправить ее, но, к сожалению, все мои попытки потерпели неудачу.

Мое окружение: Три виртуальные машины с ОС: Windows Server 2012

Настройка переменной среды:

•   ERLANG_HOME = C:\Program Files\erl10.1
•   path: C:\Program Files\Handle
•   %RABBITMQ_BASE% = c:\RabbitMQ
•   %RABBITMQ_CONFIG_FILE% = %RABBITMQ_BASE%
•   RABBITMQ_NODENAME = masternode
•   Server names: RabbitMQ01 “masternode” , RabbitMQ02, RabbitMQ03
•   Adding IP & hots name “masternode” in the host file for name resolution (C:\Windows\System32\drivers\etc\hosts)
•   Setting RabbitMQ configuration file “advanced.config” in c:\users\USERNAME\AppData\Roaming\RabbitMQ” to enable users to login to RabbitMQ management remotely by adding the following setting
[
{rabbit,
  [
   {tcp_listeners, [5672]},
   {loopback_users, []},

   {num_tcp_acceptors, 100}
  ]
  }
].

Установка шагов: (для каждого сервера)

1. After setting the environment variables, I restarted the machine. Then
2. Install ErlangOTP 21-1
3. Install RabbitMQ 3.7.8 server
4. Enable plugins - rabbitmq-plugins.bat enable rabbitmq_management 

После завершения установки вышеперечисленных серверов начинаю настройку кластера

  1. Сначала я проверил, что мастер-узел доступен из RabbitMQ02, 02, выполнив команду ping на Rabbit @ masternode, и он успешен.
  2. Остановили сервер и приложение RabbitMQ с помощью следующей команды

    rabbitmq-сервисная остановка rabbitmqctl stop_app

    1. Скопируйте .erlang.cookie из мастер-узла «путь = c: \ windows \ system32 \ config \ systemprofile» в RabbitMQ02 «путь = c: \ windows \ system32 \ config \ systemprofile» и «путь = c: \ users \ USERNAME» ».
  3. Запустите службу и приложение RabbitMQ, выполнив следующие команды

rabbitmqctl start_app rabbitmq-сервис старт

  1. Остановите приложение еще раз, выполнив эту команду «rabbitmqctl stop_app»
  2. Я начинаю присоединять RabbitMQ02 к мастерноде rabbitmqctl join_cluster rabbit@masternode (маленький корпус)

Как только я достиг этой точки, я получаю следующую ошибку на RabbitMQ02.

C: \ Program Files \ RabbitMQ Server \ rabbitmq_server-3.7.8 \ sbin> rabbitmqctl join_cluster rabbit @ masternode Ошибка: невозможно выполнить операцию на узле rabbit @ rhrabbitmq02. Посмотри пожалуйста Диагностическая информация и предложения ниже.

Наиболее распространенные причины этого:

  • Целевой узел недоступен (например, из-за разрешения имени хоста, TCP-соединение o r проблемы с брандмауэром)
  • Средство CLI не может пройти проверку подлинности на сервере (например, из-за Erlang инструмента CLI) файл cookie не соответствует серверу)
  • Целевой узел не работает

В дополнение к диагностической информации ниже:

  • См. CLI, руководства по кластеризации и сети в http://rabbitmq.com/document ation.html, чтобы узнать больше
  • Обратитесь к журналам сервера на узле rabbit @ rhrabbitmq02

ДИАГНОСТИКА

попытался связаться: [rabbit @ rhrabbitmq02]

кролик @ rhrabbitmq02: * подключен к epmd (порт 4369) на rhrabbitmq02 * epmd сообщает, что узел 'кролик' использует порт 25672 для обмена данными между узлами и инструментами CLI IC * Соединение TCP успешно, но сбой распределения Erlang

  • Ошибка аутентификации (отклонена удаленным узлом), пожалуйста, проверьте Erlang печенье

Сведения о текущем узле: * имя узла: rabbitmqcli41 @ rhrabbitmq02 * эффективный домашний каталог пользователя: C: \ Users \ admin * Erlang cookie хэш: pndBksvQokXyiSqBdnne / g ==

статус мастера:

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.8\sbin>rabbitmqctl status
Status of node masternode@rhrabbitmq01 ...
[{pid,4008},
 {running_applications,
     [{rabbitmq_management,"RabbitMQ Management Console","3.7.8"},
      {rabbitmq_management_agent,"RabbitMQ Management Agent","3.7.8"},
      {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.7.8"},
      {rabbit,"RabbitMQ","3.7.8"},
      {amqp_client,"RabbitMQ AMQP Client","3.7.8"},
      {rabbit_common,
          "Modules shared by rabbitmq-server and rabbitmq-erlang-client",
          "3.7.8"},
      {os_mon,"CPO  CXC 138 46","2.4.6"},
      {cowboy,"Small, fast, modern HTTP server.","2.2.2"},
      {mnesia,"MNESIA  CXC 138 12","4.15.5"},
      {cowlib,"Support library for manipulating Web protocols.","2.1.0"},
      {lager,"Erlang logging framework","3.6.3"},
      {syslog,"An RFC 3164 and RFC 5424 compliant logging framework.","3.4.3"},
      {ranch_proxy_protocol,"Ranch Proxy Protocol Transport","1.5.0"},
      {jsx,"a streaming, evented json parsing toolkit","2.8.2"},
      {ranch,"Socket acceptor pool for TCP protocols.","1.5.0"},
      {ssl,"Erlang/OTP SSL application","9.0.2"},
      {public_key,"Public key infrastructure","1.6.2"},
      {asn1,"The Erlang ASN1 compiler version 5.0.7","5.0.7"},
      {inets,"INETS  CXC 138 49","7.0.2"},
      {xmerl,"XML parser","1.3.18"},
      {recon,"Diagnostic tools for production use","2.3.2"},
      {crypto,"CRYPTO","4.3.3"},
      {goldrush,"Erlang event stream processor","0.1.9"},
      {compiler,"ERTS  CXC 138 10","7.2.5"},
      {syntax_tools,"Syntax tools","2.1.6"},
      {sasl,"SASL  CXC 138 11","3.2.1"},
      {stdlib,"ERTS  CXC 138 10","3.6"},
      {kernel,"ERTS  CXC 138 10","6.1"}]},
 {os,{win32,nt}},
 {erlang_version,
     "Erlang/OTP 21 [erts-10.1] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:64
]\n"},
 {memory,
     [{connection_readers,0},
      {connection_writers,0},
      {connection_channels,0},
      {connection_other,29212},
      {queue_procs,0},
      {queue_slave_procs,0},
      {plugins,1192744},
      {other_proc,26188552},
      {metrics,195524},
      {mgmt_db,337648},
      {mnesia,75088},
      {other_ets,2748464},
      {binary,181696},
      {msg_index,27840},
      {code,27573597},
      {atom,1131721},
      {other_system,9846202},
      {allocated_unused,9377056},
      {reserved_unallocated,0},
      {strategy,rss},
      {total,[{erlang,69528288},{rss,78905344},{allocated,78905344}]}]},
 {alarms,[]},
 {listeners,
     [{clustering,25672,"::"},
      {amqp,5672,"::"},
      {amqp,5672,"0.0.0.0"},
      {http,15672,"::"},
      {http,15672,"0.0.0.0"}]},
 {vm_memory_calculation_strategy,rss},
 {vm_memory_high_watermark,0.4},
 {vm_memory_limit,3435785420},
 {disk_free_limit,50000000},
 {disk_free,86038073344},
 {file_descriptors,
     [{total_limit,8092},
      {total_used,2},
      {sockets_limit,7280},
      {sockets_used,0}]},
 {processes,[{limit,1048576},{used,399}]},
 {run_queue,1},
 {uptime,6087},
 {kernel,{net_ticktime,60}}]

1 Ответ

0 голосов
/ 31 октября 2018

Решение проблемы: неправильно задать «RABBITMQ_NODENAME» значение «masternode» вместо «rabbit @ masternode», Ошибка в последовательности выполнения команд, которую необходимо выполнить (при присоединении к кластеру - сначала сначала stop_app, затем остановка службы), и перезапустить службу после изменения конфигурация вместо переустановки сервиса rabbitmq.

Я буду рад поделиться всеми деталями шагов, если это необходимо для установки, настройки rabbitmq и настройки кластера в Windows на основе моего сценария установки. С наилучшими пожеланиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...