1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gongxusheng-docker-wmq

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 7.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 04:20 5f3003d

Докер-WMQ

Недавно я установил WebSphere MQ 7.5 на CentOS 7, и сегодня менеджер снова попросил меня подготовить новую среду на другом сервере в облаке. Похоже, что спрос на установку MQ всё ещё высок. Поэтому я решил создать образ Docker, чтобы ускорить подготовку MQ.

Установка программного обеспечения MQ

  1. Установите Docker на одном сервере Linux.
  2. Загрузите WS_MQ_LINUX_ON_X86_64_7.5.0.2_IMG.tar.gz и распакуйте его.
  3. Выполните следующую команду в каталоге с распакованными файлами установки, чтобы войти в контейнер Docker:
docker run -it -v $PWD:/tmp/software centos:7.1.1503 /bin/bash
  1. В каталоге /tmp/software установите mq. Выполните ./mqlicense.sh -accept -text_only, чтобы принять лицензию. Выполните rpm -ivh MQSeriesRuntime-*.rpm MQSeriesServer-*.rpm.
  2. Выполните exit, чтобы выйти из контейнера Docker.
  3. Выполните следующую команду, чтобы зафиксировать установленный MQ Docker-контейнер как образ:
docker commit wmq_container xsh/wmq75:0.1

Создание образа MQ, который может предоставлять услуги

  1. Скачайте соответствующий скрипт конфигурации по следующему адресу: http://git.oschina.net/gongxusheng/docker-wmq. Скрипт запуска и настройки менеджера очередей находится в start_queue_manager.sh, вы можете внести соответствующие изменения в соответствии со своим планом. Если порт не является портом по умолчанию 1414, пожалуйста, также измените EXPOSE в Dockerfile.
  2. Выполните в каталоге Dockerfile, чтобы создать образ:
docker build --tag xsh/wmq75:0.2 .
  1. После успешного создания образа вы можете запустить службу с помощью следующей команды:
docker run -d -p 1414:1414 --name wmq xsh/wmq75:0.2
  1. Если вы хотите настроить менеджер очередей, вы можете написать свой собственный файл конфигурации (например, some_queue_manager.sh), следуя примеру start_queue_manager.sh. При запуске загрузите его:
docker run -d -p <yourport>:<yourport> -v $PWD/some_queue_manager.sh:/start_queue_manager.sh --name wmq xsh/wmq75:0.2

Использование MQ Explorer для тестирования очереди

  1. Установите MQ Explorer на Windows и запустите его.
  2. В меню слева выберите Queue Managers правой кнопкой мыши и выберите Add Remote Queue Manager...
  3. Введите имя удалённого менеджера очередей в поле Queue Manger Name (по умолчанию TESTQM). На последующих страницах конфигурации введите IP-адрес сервера, на котором расположен менеджер очередей, и имя пользователя mqm (без пароля). Если соединение установлено успешно, поздравляем, установка и настройка завершены.

Об установке MQ вручную вместо использования Dockerfile Поскольку невозможно эффективно удалить установочный носитель при использовании Dockerfile для установки, это приводит к увеличению размера образа. Поэтому я использовал ручной метод установки. Те, кто заинтересован, могут попробовать Dockerfile2, размер образа составляет около 927 МБ, что примерно на 500 МБ больше, чем у образа, созданного описанным выше методом.

О настройке параметров операционной системы На этапе установки MQ требуется выполнить команду su mqm -c "/opt/mqm/bin/mqconfig", чтобы проверить, соответствует ли среда выполнения MQ минимальным требованиям. Если она не соответствует, возможно, не удастся запустить менеджер очередей. Учитывая характеристики Docker Engine, можно настроить параметры при запуске Docker Engine на сервере, и эти параметры будут автоматически включены при запуске контейнера Docker.

Примечание: после тестирования было обнаружено, что изменение параметров операционной системы на сервере Ubuntu Server 14.04.4 LTS 64bit + Docker 1.10 даёт эффект, а на Cent 6.5 + Docker 1.7.1 — нет. Если кто-то знает, как настроить параметры на Docker 1.7.1, пожалуйста, оставьте комментарий.

  1. Выполните docker exec -it wmq /bin/bash, чтобы войти в Docker-контейнер.

  2. Выполните su mqm -c "/opt/mqm/bin/mqconfig", чтобы просмотреть, какие параметры необходимо настроить.

  3. Настройте параметры операционной системы в соответствии с подсказками mqconfig. Например, в моей среде были следующие ошибки:

System V Semaphores
  semmsl     (sem:1)  250 semaphores                     IBM>=500          FAIL
  semmns     (sem:2)  1 of 32000 semaphores      (0%)    IBM>=256000       FAIL
  semopm     (sem:3)  32 operations                      IBM>=250          FAIL
  semmni     (sem:4)  1 of 128 sets              (0%)    IBM>=1024         FAIL
System Settings
  file-max            1568 of 185426 files       (0%)    IBM>=524288       FAIL
  tcp_keepalive_time  7200 seconds                       IBM<=300          FAIL
Current User Limits (mqm)
  nofile       (-Hn)  4096 files                         IBM>=10240        FAIL
  nofile       (-Sn)  1024 files                         IBM>=10240        FAIL

В файле /etc/sysctl.conf на сервере Docker Engine настройте:

kernel.sem = 500 256000 250 1024
fs.file-max = 524288
net.ipv4.tcp_keepalive_time = 300

В файле /etc/security/limits.conf на сервере Docker Engine настройте:

mqm    soft    nofile    10240
mqm    hard    nofile    10240
  1. Выполнив sysctl -p на сервере Docker Engine, перезапустите новый контейнер и снова выполните su mqm -c "/opt/mqm/bin/mqconfig" для проверки. Если все параметры прошли проверку, настройка прошла успешно.

Ссылки

  1. Running MQSC commands from batch files from Administering IBM WebSphere MQ Version 7 Release 5.
  2. https://docs.docker.com/engine/admin/using_supervisord/.
  3. http://blog.csdn.net/gongxsh00/article/details/51182057.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/gongxusheng-docker-wmq.git
git@api.gitlife.ru:oschina-mirror/gongxusheng-docker-wmq.git
oschina-mirror
gongxusheng-docker-wmq
gongxusheng-docker-wmq
master