Опубликован: 10.06.2008 | Уровень: специалист | Доступ: платный | ВУЗ: Компания IBM
Лекция 8:

Кластеры менеджеров очередей

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >

8.3. Работа с менеджерами очередей в кластере

Этот раздел главы посвящен описанию общих действий, выполняемых в ходе администрирования или создания кластера менеджеров очередей сообщений. Процедура администрирования относительно несложна, однако чтобы остальные менеджеры очередей в кластере не содержали ложную информацию о данном менеджере очередей сообщений, а подключение к нему в кластере возможно установить, должна правильно выполняться.

8.3.1. Приостановка и возобновление работы менеджера очередей в кластере

Приостановка работы менеджера очередей в кластере отлична от его удаления. В результате приостановки доставка сообщений очередям, совместный доступ к которым в кластере организует текущий менеджер, становится практически невозможной. Она существенно сокращает вероятность того, что контролирующий работу остальных менеджеров алгоритм балансировки нагрузки выберет доставку сообщений очередям текущего менеджера. Вопросы балансировки нагрузки мы обсудим в "Кластеры менеджеров очередей" "Балансировка нагрузки".

Приостановка работы менеджера очередей не мешает тому, чтобы специально предназначенные ему сообщения поступали к нему из кластера.

После выполнения приостановки работу менеджера можно снова возобновить.

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

  • Для целей приостановки или возобновления работы менеджера очередей в одном кластере – команды MQSC SUSPEND QMGR CLUSTER или RESUME QMGR CLUSTER.
  • Для целей приостановки или возобновления работы менеджера очередей в нескольких кластерах – команды MQSC SUSPEND QMGR CLUSNL или RESUME QMGR CLUSNL.
  • WebSphere MQ Explorer:
    • для выполнения приостановки менеджера с частичным репозиторием полный репозиторий кластера должен быть подключен из папки Queue Managers навигатора;
    • откройте в навигаторе папку Queue Manager Clusters ;
    • разверните дерево навигатора под значком с тем же названием, что и кластер;
    • в зависимости от того, полный или частичный репозиторий кластера содержит текущий менеджер, разверните в навигаторе папку Full Repositories или Partial Repositories ;
    • щелкните в навигаторе правой кнопкой по значку, одноименному менеджеру.
      • Если работу менеджера в кластере необходимо остановить, выберите в меню Suspend Cluster Membership.
      • Если работу менеджера в кластере необходимо возобновить, выберите в меню Resume Cluster Membership. Заметим, что этот пункт доступен только в том случае, если менеджер в кластере был ранее приостановлен.

8.3.2. Сброс членства менеджера очередей в кластере

Для удаления из кластера всей информации о менеджере и обеспечения возможности нового запуска менеджера очередей в нем без выхода и повторного подключения воспользуйтесь командой MQSC RESET CLUSTER.

Это действие также доступно из WebSphere MQ Explorer, где нужно щелкнуть правой кнопкой мыши по значку менеджера очередей интересующего вас кластера.

Примечание Предпринимайте это действие только после прочтения соответствующих разделов руководства WebSphere MQ Queue Manager Clusters, SC34-6589. Особую аккуратность следует проявить, если ваша работа затрагивает менеджеры очередей с полным репозиторием кластера.

8.3.3. Этапы подключения менеджера очередей к кластеру

Опишем в этом разделе ручные операции добавления менеджера в существующий кластер или формирования нового. Для кластеров, не использующих списки имен в определениях каналов или атрибутах репозиториев менеджеров, перечисленные здесь действия также можно осуществить при помощи мастеров WebSphere MQ Explorer.

С применением мастеров WebSphere MQ Explorer

В мастерах WebSphere MQ Explorer создание кластера и добавление менеджера очередей в существующих – это разные операции. И в первом и во втором случае менеджеры очередей должны быть предварительно созданы и запущены, а также подключены к WebSphere MQ в папке Queue Managers.

Для доступа к мастеру создания кластера Create Cluster:

  1. Убедитесь, что оба изначально образующих кластер менеджера очередей с полным репозиторием существуют и подключены из папки Queue Managers.
  2. Щелкните правой кнопкой по расположенной в дереве навигатора папке Queue Manager Clusters.
  3. Выберите в меню New -> Queue manager cluster.

Для доступа к мастеру добавления в кластер Add to cluster:

  1. Убедитесь, что полный репозиторий кластера подключен к WebSphere MQ Explorer из папки Queue Managers.
  2. Убедитесь, что из этой папки подключен и вводимый в состав кластера менеджер.
  3. В представленной в навигаторе папке Queue Manager Clusters щелкните правой кнопкой по тому кластеру, к которому подключается менеджер.
  4. Выберите в меню Add Queue Manager To Cluster.
Операции, выполняемые вручную

Чтобы вручную добавить менеджер в существующий кластер или сформировать новый, произведите следующую работу.

  1. Убедитесь в том, что для менеджера описан слушатель на конкретный сетевой порт, а имя хоста или IP-адрес машины, где размещается менеджер, известны и доступны всем остальным менеджерам очередей в кластере.
    Примечание Не используйте имя хоста, равное localhost, и IP-адрес 127.0.0.1, так как они действуют только на локальной машине.
  2. Убедитесь в том, что известно название подключения к полному репозиторию кластера, включая имя хоста или IP-адрес машины с менеджером и порт, на который настроен слушатель. Если эти шаги касаются одного из пары исходных менеджеров очередей с полным репозиторием, то речь идет о названии соединения с другим менеджером очередей сообщений, который содержит – или может содержать – полный репозиторий кластера.
    Примечание Если текущим менеджером планируется заменить прежний полный репозиторий, рекомендуем выбрать название соединения того полного репозитория кластера, который в нем остается.
  3. Если текущий менеджер должен содержать полный репозиторий одного кластера, установите атрибут REPOS объекта-менеджера очередей сообщений равным названию такового.

    Если менеджер очередей должен содержать полные репозитории нескольких кластеров, определите объект – список имен с занесенными в атрибут NAMES названиями всех кластеров. Укажите название объекта – списка имен в атрибуте REPOSNL объекта – менеджера очередей сообщений.

  4. Определите объект – кластерный receiver-канал, описав в нем порядок обращения к текущему менеджеру остальных менеджеров очередей внутри кластера.
    • В атрибуте CONNAME задайте название соединения для связи с тем менеджером, который подключается к кластеру.
    • Если кластерный receiver-канал планируется использовать для подключения только к одному кластеру, заполните его названием атрибут CLUSTER.
    • Если один объект – кластерный receiver-канал, напротив, будет использоваться для подключения менеджера к целой серии кластеров, определите объект – список имен с названиями последних, перечислив их в атрибуте списка названий NAMES. Укажите имя объекта – списка имен в атрибуте CLUSNL объекта – кластерного receiver-канала.
    • Задайте любые дополнительные атрибуты, такие как интервал разъединения, размер пакета или конфигурация SSL, которыми должны пользоваться менеджеры очередей внутри кластера, отправляя сообщения вводимому в его состав менеджеру.
  5. Определите объект – кластерный sender-канал, чтобы описать подключение к существующему полному репозиторию кластера, или выберите другой описанный менеджер очередей с полным репозиторием.
    • В атрибуте CONNAME задайте название соединения для связи с тем менеджером, где расположен полный репозиторий кластера.
    • Если на удаленном менеджере с полным репозиторием расположен полный репозиторий только одного кластера – того, к которому текущий менеджер подключается, или для каждого из тех кластеров, полными репозиториями которых он управляет, менеджер имеет собственные объекты – кластерные receiver-каналы, заполните атрибут CLUSTER названием кластера.
    • Если в составе менеджера очередей с полным репозиторием, напротив, описан общий объект – кластерный receiver-канал для нескольких кластеров, к которым текущий менеджер должен быть подключен, определите объект – список имен с названиями последних, перечислив их как значение атрибута списка названий NAMES. Укажите имя объекта – списка имен в атрибуте CLUSNL объекта– кластерного sender-канала.
    • Задайте любые дополнительные атрибуты, к примеру конфигурацию SSL, которые необходимы определению кластерного receiver-канала на менеджере очередей с полным репозиторием.
    Примечание Если подключающийся к кластеру менеджер является менеджером с полным репозиторием, а число прочих имеющихся в составе кластера полных репозиториев больше, чем единица, явно определите кластерные sender-каналы ко всем остальным менеджерам очередей сообщений с полным репозиторием кластера.
  6. Наконец, менеджер очередей сообщений становится членом кластера и, пользуясь атрибутами "кластер" ( CLUSTER ) и "список названий кластеров" ( CLUSNL ) объектов, может организовывать общий доступ к объектам-очередям в кластере. При этом существующие объекты-очереди могут меняться, а новые – определяться впервые.
    Примечание До успешного окончания процесса подключения к кластеру в экранной выдаче команд DISPLAY CLUSQMGR и папке Clusters в WebSphere MQ Explorer вы увидите элементы вида:
    SYSTEM.TEMPQMGR.hostname(port)
    Обратите на них внимание, если менеджер с полным репозиторием, явный кластерный sender-канал к которому вы описали, функционирует, имеет работающий на верном сетевом порту слушатель и уже введен в состав кластера. Если вы видите подобные элементы, тщательно проверьте атрибуты описанных кластерных канальных объектов и убедитесь, что слушатели настроены на правильные порты на каждом из менеджеров. Общие сведения об устранении проблем мы приведем в "Устранение неполадок" "Общие проблемы при построении инфраструктуры".

8.3.4. Этапы удаления менеджера из кластера

Теперь опишем ручные операции удаления менеджера из кластера. Для кластеров, не использующих списки имен в определениях каналов или атрибутах репозиториев менеджеров, перечисленные здесь действия также можно осуществить при помощи мастеров WebSphere MQ Explorer.

С применением мастеров WebSphere MQ Explorer

Для доступа к мастеру Remove Queue Manager from Cluster в составе WebSphere MQ Explorer используйте следующие шаги.

  • Под значком кластера на панели навигации в папке Queue Manager Clusters найдите соответствующий менеджеру значок. Его местом расположения окажется папка Full Repositories или Partial Repositories.
  • Щелкните правой кнопкой мыши по найденному значку и выберите в меню Remove Queue Manager From Cluster.
Операции, выполняемые вручную

Чтобы вручную удалить менеджер из кластера менеджеров, произведите следующую работу.

  1. Если удаляемый менеджер содержит полный репозиторий, убедитесь, что еще два полных репозитория остаются в составе кластера.
    Примечание Если это не так, подключите к кластеру новый менеджер очередей с полным репозиторием прежде, чем перейдете к удалению существующего.
  2. Если удаляемый менеджер содержит полный репозиторий, сообщите всем менеджерам очередей внутри кластера, что тот больше не управляет его полным репозиторием. Для этого:
    • если в составе менеджера хранится репозиторий только одного кластера, очистите атрибут REPOS или REPOSNL объекта – менеджера очередей сообщений, выбрав для удаления значения тот атрибут, в котором оно содержится;
      Примечание В командах MQSC пустое значение должно записываться в одинарных кавычках:
      ALTER QMGR REPOS(' ')
    • если в составе менеджера хранится репозиторий нескольких кластеров, а он должен быть удален только из одного, модифицируйте заданный в атрибуте менеджера REPOSNL объект – список так, чтобы исключить данный кластер из перечня.
  3. Произведите приостановку менеджера очередей, как описано в "Кластеры менеджеров очередей" "Приостановка и возобновление работы менеджера очередей в кластере".
  4. Сообщите менеджерам из кластера, что данный менеджер покидает его состав. Для этого:
    • если послуживший для подключения кластерный receiver-канал использовался для подключения только к одному кластеру, очистите атрибут CLUSTER или CLUSNL объекта – кластерного receiver-канала, выбрав для удаления значения тот атрибут, в котором оно содержится;
      Примечание В командах MQSC пустое значение должно записываться в одинарных кавычках:
      ALTER CHANNEL('TO.QmgrName') CHLTYPE(CLUSRCVR) CLUSTER(' ')
    • если послуживший для подключения кластерный receiver-канал использовался для подключения к нескольким кластерам, а должен быть удален только из одного, модифицируйте заданный в атрибуте CLUSNL объекта – кластерного receiver-канала объект-список так, чтобы исключить данный кластер из перечня.
  5. Выполните команду останова канала объекта – кластерного receiver-канала, который применялся при подключении менеджера очередей к кластеру. К примеру, в MQSC используйте следующую команду:
    STOP CHANNEL('TO.QmgrName')
    Примечание По окончании этого шага любое сообщение, отосланное менеджеру очередей через кластер, останется в кластерной транспортной очереди менеджера-источника. Поэтому, прежде чем запустить указанную команду, дождитесь прекращения поступления менеджеру новых сообщений. Менеджеры из кластера уже "знают" о его удалении, а значит, алгоритмы балансировки нагрузки перестанут присылать новые сообщения в его адрес.
  6. Если на протяжении этих этапов атрибут "кластер" или "список названий кластеров" был очищен, а потребности в кластерном receiver-канале для повторного подключения менеджера очередей к кластеру не возникнет, объект – кластерный receiver-канал может быть удален.
  7. Если послуживший для подключения кластерный sender-канал использовался для подключения менеджера очередей только к одному кластеру, на этом шаге он может быть остановлен и удален. В противном случае для удаления ссылки на кластер из определения кластерного sender-канала или списка имен, в которых она содержится, следуйте процедуре, описанной для кластерного receiver-канала.
  8. Выполните команду обновления кластера, из которого удаляется менеджер. Тем самым вы гарантируете очистку информации о кластере из репозитория этого менеджера очередей.
    Примечание Если покидающий кластер менеджер содержит полный репозиторий, возможно существование ведущих к этому менеджеру, явно описанных частичными репозиториями кластерных sender-каналов сообщений. В этом случае опишите на менеджерах частичных репозиториев новые объекты – кластерные каналы, направленные к оставшемуся полному репозиторию кластера, и удалите старый объект – кластерный sender-канал. Иначе такие менеджеры не смогут, если потребуется, покинуть кластер и снова войти в него в будущем. В числе прочих действий выполните команду REFRESH CLUSTER с параметром REPOS(YES).
< Лекция 7 || Лекция 8: 123456 || Лекция 9 >
Михаил Завалко
Михаил Завалко
Беларусь, Минск
Artem Bardakov
Artem Bardakov
Россия