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

Менеджеры очередей: общее представление и настройка

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
WebSphere MQ для iSeries

В WebSphere MQ для iSeries менеджер очередей сообщений работает как совокупность пакетных заданий (batch jobs). По умолчанию они выполняются в подсистеме QMQM, созданной при установке WebSphere MQ для iSeries. Подробнее о запуске пакетных заданий WebSphere MQ читайте в руководстве WebSphere MQ для iSeries V6.0 System Administration Guide, SC34-6586.

Примечание В дальнейшем в курсе не будет упоминаний пакетных заданий iSeries. Обычно для обозначения таковых будет использоваться термин процесс (process).

Прежде чем попытаться выполнить ту или иную CL-команду WebSphere MQ, убедитесь в том, что подсистема QMQM работает. Для ее запуска воспользуйтесь следующей командой:

STRSBS QMQM/QMQM

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

  • Библиотека менеджера очередей сообщений.

    Каждый менеджер имеет библиотеку. Она содержит разделы ( journals ), образующие журнал ( log ). Название библиотеки определяется названием менеджера.

  • Каталог данных менеджера очередей сообщений.

    Каталог данных менеджера очередей сообщений в интегрированной файловой системе (IFS) содержит определения объектов, данные сообщений, а также прочие данные менеджера. По умолчанию путь к этому каталогу имеет вид:

    /QIBM/UserData/mqm/qmgrs/название_менеджера

Название библиотеки, а также входящее в IFS-путь название_менеджера может частично не совпадать с реальным названием менеджера очередей сообщений. Подробнее о построении названия библиотеки и IFS-имени каталога из названия менеджера читайте в руководстве WebSphere MQ для iSeries V6.0 System Administration Guide, SC34-6586.

Базовая информация о настройках менеджера очередей сообщений хранится в файле, расположение в файловой системе которого приведено для каталога с данными менеджера очередей сообщений по умолчанию: /QIBM/UserData/mqm/название_менеджера/qm.ini.

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

Файл qm.ini может быть напрямую модифицирован в CL-редакторе EDTF.

Менеджер очередей сообщений в WebSphere MQ для iSeries создается CL-командой WebSphere MQ для iSeries CRTMQM. Подробнее об этом читайте в руководстве WebSphere MQ для iSeries V6.0 System Administration Guide, SC34-6586.

Примечание Для создания менеджера пользователь, который решает эту задачу, должен являться членом группы QMQMADM. При установке WebSphere MQ эта группа создается автоматически.

Параметрами этой команды определяются начальные значения хранящихся в файле qm.ini важных атрибутов конфигурации. Часть настроек, касающихся процессов журнализации, после создания менеджера не подлежит изменению. Подробнее об этом см. "Менеджеры очередей: общее представление и настройка" "Журнализация".

Не относящаяся к конкретному менеджеру информация о настройках WebSphere MQ хранится в IFS в файле /QIBM/UserData/mqm/mqs.ini.

Файл может быть напрямую модифицирован в CL-редакторе EDTF.

WebSphere MQ для z/OS

Информацию о работе менеджеров очередей сообщений в WebSphere MQ для z/OS читайте в руководстве WebSphere MQ для z/OS V6.0 Concepts and Planning Guide, GC34-6582.

5.3.5. Менеджер очередей по умолчанию

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

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

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

WebSphere MQ для Windows, iSeries, UNIX

В WebSphere MQ для платформ Windows, iSeries, UNIX менеджер очередей сообщений по умолчанию определяется опцией в процессе его создания.

Задание этой опции приводит к тому, что имя данного менеджера заносится в параметр Default queue manager в настройках WebSphere MQ. Позднее его значение можно модифицировать заменой упомянутого параметра. Редактирование настроек WebSphere MQ на базе Windows, UNIX, а также iSeries мы обсудим в "Менеджеры очередей: общее представление и настройка" "Структура и создание менеджера очередей".

WebSphere MQ для z/OS

Порядок определения менеджера очередей сообщений по умолчанию зависит от окружения, откуда подключается приложение. Подробнее об этом читайте в разделе "Writing a WebSphere MQ application" руководства WebSphere MQ Application Programming Guide, SC34-6595.

5.3.6. Объект-менеджер очередей

Информацию о настройке менеджера очередей сообщений, которую можно менять во время его работы, содержит соответствующий объект. Администрируют объект-менеджер очередей так же, как и другие объекты менеджера очередей сообщений.

При пользовании WebSphere MQ Explorer атрибуты объекта-менеджера очередей находятся в одном окне Properties с атрибутами конфигурации менеджера очередей.

5.3.7. Запуск и останов менеджера очередей

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

Примечание С появлением WebSphere MQ V6.0 в названия и структуру процессов, реализующих менеджер, внесены немалые изменения. Это относится ко всем платформам системы, кроме WebSphere MQ для z/OS. Подробности сделанных изменений выходят за рамки книги. Однако их появление может повлиять на ранее созданные сценарии завершения или очистки менеджера очередей сообщений, а также контроля активности менеджера очередей на машине. Подробнее о процессах, являющихся частью менеджера очередей сообщений WebSphere MQ V6.0, читайте в следующих руководствах.
  • Windows и UNIX:

    WebSphere MQ System Administration Guide, SC34-6584, – приложение D "Stopping and removing queue managers manually"

  • iSeries:

    WebSphere MQ для iSeries V6.0 System Administration Guide, SC34-6586, раздел "Work management"

WebSphere MQ для Windows, UNIX, iSeries

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

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

  • Запуск при помощи WebSphere MQ Explorer.

    Щелкните правой кнопкой мыши по значку менеджера очередей в навигаторе и выберите пункт Start.

    Примечание Чтобы настроить менеджер очередей сообщений на автозапуск одновременно с машиной, используйте WebSphere MQ Explorer для Windows. В нем щелкните правой кнопкой мыши по значку менеджера очередей в навигаторе и выберите пункт Properties. После чего измените значение поля Startup с Manual на Automatic.
  • Запуск по команде WebSphere MQ strmqm:

    Команда strmqm доступна в WebSphere MQ на платформах UNIX и Windows и описана в части 6 "WebSphere MQ control commands" руководства WebSphere MQ System Administration Guide, SC34-6584.

    Примечание При пользовании управляющей командой WebSphere MQ strmqm на базе платформы Windows менеджер запускается от имени текущего пользователя системы. В результате его работа будет завершена, как только текущий пользователь выйдет из своего сеанса работы. По этой причине подумайте об отказе от команды strmqm в пользу команды amqmdain qmgr start.
  • Запуск по команде WebSphere MQ amqmdain qmgr start

    Управляющая команда amqmdain qmgr start доступна только в WebSphere MQ для Windows. Запускаемый с ее помощью менеджер очередей сообщений продолжает свою работу и после того, как выполнивший команду пользователь покидает систему. Команда amqmdain qmgr start описана в части 6 "WebSphere MQ control commands" руководства WebSphere MQ System Administration Guide, SC34-6584.

  • Запуск по CL-команде STRMQM

    CL-команда STRMQM доступна в WebSphere MQ для iSeries и описана в руководстве WebSphere MQ для iSeries V6.0 System Administration Guide, SC34-6586.

При завершении работы менеджера важно не забывать о возможном наличии активных подключений к нему со стороны приложений. По этим соображениям WebSphere MQ поддерживает три метода завершения менеджеров.

Используйте их в следующем порядке приоритета. Если какой-то метод не может остановить менеджер за требуемый интервал времени, переходите к следующему из способов. Очередную команду вы можете запускать, пока работает менее "радикальная" предыдущая.

  1. Плавный останов (quiesced shutdown).

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

  2. Немедленный останов (immediate shutdown).

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

  3. Принудительный останов (preemptive shutdown).

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

Если ни один из трех методов не позволил остановить менеджер, обратитесь к документации.

  • К разделу "Stopping a queue manager manually" руководства WebSphere MQ System Administration Guide, SC34-6584
  • К разделу "Quiescing WebSphere MQ для iSeries" руководства WebSphere MQ для iSeries V6.0 System Administration Guide, SC34-6586

Все методы останова следуют одинаковой процедуре. Для завершения работы менеджера выберите один из следующих приемов.

  • При помощи WebSphere MQ Explorer.

    Щелкните правой кнопкой мыши по значку менеджера очередей в навигаторе и выберите пункт Stop.

  • По команде WebSphere MQ endmqm.

    Команда endmqm доступна в WebSphere MQ на платформах UNIX и Windows и описана в части 6 "WebSphere MQ control commands" руководства WebSphere MQ System Administration Guide, SC34-6584.

    Примечание По команде endmqm может быть остановлен в том числе менеджер, запущенный командой amqmdain qmgr start.
  • По команде WebSphere MQ amqmdain qmgr end.

    Управляющая команда amqmdain qmgr end доступна только в WebSphere MQ для Windows и описана в части 6 "WebSphere MQ control commands" руководства Web-Sphere MQ System Administration Guide, SC34-6584.

  • По CL-команде ENDMQM.

    CL-команда ENDMQM доступна в WebSphere MQ для iSeries и описана в руководстве WebSphere MQ for iSeries V6.0 System Administration Guide, SC34-6586.

WebSphere MQ для z/OS

Связанная с каждым из менеджеров очередей сообщений WebSphere MQ подсистема z/OS запускается во время начальной загрузки программ (IPL – initial program load). Для запуска менеджера можно прибегнуть к подаваемой для его подсистемы команде START QMGR.

В целях автоматического перезапуска менеджера при сбое может использоваться z/OS Automatic Restart Manager (ARM). Работа ARM описана в разделе "Using the z/OS Automatic Restart Manager (ARM)" руководства WebSphere MQ для z/OS V6.0 System Administration Guide, SC34-6585.

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

  • Команда STOP QMGR MODE(QUIESCE).

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

  • Команда STOP QMGR MODE(FORCE).

    Работа менеджера прекращается принудительно. Используйте этот метод, если плавный останов не позволил вам завершить менеджер за требуемый интервал времени или же к нему нет ни одного активного подключения от приложений. Во избежание автоматического перезапуска менеджера регистрация его в ARM аннулируется.

  • Команда STOP QMGR MODE(RESTART).

    Работа менеджера прекращается так же, как при использовании команды STOP QMGR MODE(FORCE). Однако регистрация его в ARM сохраняется. В результате, если настройки ARM предполагают автоматический перезапуск менеджера очередей сообщений, он будет запущен вновь.

5.3.8. Сетевой доступ к менеджеру очередей

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

  • Transmission Control Protocol/Internet Protocol (TCP/IP)
  • SNA LU 6.2 (только Windows и z/OS)
  • NetBIOS (только Windows)
  • SPX (только Windows)

В этом курсе мы обсудим лишь TCP/IP-протокол. Подробности других протоколов см. в руководстве WebSphere MQ System Administration Guide, SC34-6584.

Для установления соединения по TCP/IP-протоколу менеджер очередей сообщений должен прослушивать подключение по определенному порту.

Как имя соединения выступает IP-адрес или имя хоста машины, объединенное с номером порта, который активно прослушивает менеджер очередей сообщений. Имя соединения служит идентификатором менеджера в TCP/IP-сети, которым для установления связи могут пользоваться другие менеджеры или клиенты.

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

Известным номером порта WebSphere MQ является 1414. Если на машине работает единственный менеджер очередей сообщений, обычно он прослушивает TCP/IP-порт с этим номером. Если имя соединения не содержит номера порта, WebSphere MQ предполагает, что на машине с данным IP-адресом или именем хоста имеется менеджер очередей сообщений, который прослушивает именно этот порт.

5.3.9. Слушатель WebSphere MQ

На всех платформах WebSphere MQ, за исключением WebSphere MQ для z/OS, прослушиванием TCP/IP занят процесс-"слушатель" (listener) WebSphere MQ.

Он прослушивает подключения к своему порту, после чего для обработки соединения создает канальный агент (MCA – message channel agent), который действует независимо от того, идет ли речь о распределенном, кластерном канале сообщений или клиентском соединении. Каналы сообщений и MCA мы обсудим в "Взаимодействие менеджеров очередей и клиентские подключения в WebSphere MQ" "Понятие состояния канала".

Агент MCA, созданный слушателем WebSphere MQ, не выполняется в своем собственном процессе внутри системы. Напротив, он формируется слушателем в пределах пула процессов. Число процессов в упомянутом пуле автоматически регулируется WebSphere MQ в зависимости от количества активных MCA каждого менеджера.

В целом этот подход называют формированием канального пула (channel pooling). Его применение означает, что каждый из MCA требует меньше ресурсов, чем при работе внутри собственного процесса. В зависимости от схемы самой системы и наблюдаемых в ней нагрузок менеджер очередей сообщений может иметь тысячи активных одновременных подключений.

Примечание До выпуска WebSphere MQ V5.3 формирование канального пула для платформ UNIX отсутствовало. Вместо него использовался процесс-слушатель операционной системы inetd. WebSphere MQ Version 5.3 и WebSphere MQ Version 6.0 по-прежнему поддерживают использование входящего в ОС слушателя inetd. Однако он не дает возможности использовать преимущества предоставляемых WebSphere MQ функций формирования канального пула, поскольку каждый из MCA работает в рамках своего собственного процесса.

Для формирования слушателей используется MQSC-команда DEFINE LISTENER, для запуска – MQSC-команда START LISTENER.

В WebSphere MQ Explorer слушатели могут создаваться и запускаться автоматически при создании менеджера. Если это вам не подходит, то для создания слушателей щелкните правой кнопкой мыши по находящейся в навигаторе папке Listeners менеджера очередей сообщений и выберите пункт меню New -> Listener.

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

WebSphere MQ для Windows также поддерживает слушатели LU 6.2, NetBIOS и SPX.

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

Примечание До выпуска WebSphere MQ Version 6.0 слушатель WebSphere MQ не был объектом менеджера очередей сообщений. Для справки в WebSphere MQ V5.3 доступны следующие приемы запуска слушателей сетевых подключений.
  • В WebSphere MQ V5.3 для UNIX-платформ слушатель должен запускаться из командной оболочки вручную при помощи управляющей команды WebSphere MQ runmqlsr.
  • В WebSphere MQ для iSeries V5.3 для запуска слушателя используется CL-команда STRMQMLSR.
  • В WebSphere MQ для Windows V5.3 слушатель может автоматически запускаться совместно с менеджером при помощи управляющей команды Web-Sphere MQ amqmdain crtlsr или модуля оснастки WebSphere MQ Services.
< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
Михаил Завалко
Михаил Завалко
Беларусь, Минск
Artem Bardakov
Artem Bardakov
Россия