WebSphere MQ Series – Instalação (Linux) – IBM Developer

WebSphere MQ Series – Instalação (Linux)

Introdução

Historicamente, os sistemas distribuídos se utilizam de um middleware para administrar o envio e recebimento de mensagens que trafegam entre diferentes plataformas. A função deste middleware é criar uma camada distribuída de comunicação que permite que os desenvolvedores programem as trocas de mensagens sem se preocupar com os detalhes dos vários sistemas operacionais usados no sistema.

O IBM WebSphere MQ Series é um software que atende a este tipo de necessidade, trabalhando de modo assíncrono graças ao conceito de enfileiramento de mensagens. Está disponível para instalação em um grande número de sistemas operacionais diferentes.

Este tutorial apresenta o procedimento de instalação do WebSphere MQ em servidores Linux, bem como a aplicação de pacotes de correção e também a desinstalação do produto.

Para ilustrar o processo, apresentamos um passo-a-passo da instalação do WebSphere MQ Series 7.0 (64 bits) numa estação de trabalho rodando o Linux openSuSE 12.1 (x86_64).

1. Pré-Requisitos de instalação do WebSphere MQ

1.1 Sistema Operacional

O WebSphere MQ 7.0 e versões posteriores podem ser instalados em qualquer distribuição do Linux (32-bit ou 64-bit), porém recomendam-se as seguintes distribuições:

  • Red Hat Enterprise Linux (RHEL) V4.0 ou posterior
  • SuSE Linux Enterprise Server (SLES) V9 ou posterior

Nota: caso opte por utilizar o Linux na plataforma x86 (32-bit), certifique-se de também utilizar o WebSphere MQ 32-bit no procedimento de instalação.

O administrador deve observar qual nome será escolhido para o servidor onde rodará o WebSphere MQ, já que este não suporta nomes que contenham espaços. Se isto acontecer, não será possível criar gerenciadores de filas do MQ. Exemplos:

Nome de servidor inválido: ‘servidor linux teste

Nome de servidor válido: ‘servidorlinuxteste

1.2 Bibliotecas do Sistema

Caso se utilize uma distribuição do Linux 32-bit, deve-se instalar o pacote glibc 32-bit.

Porém, para qualquer distribuição do Linux 64-bit, os pacotes glibc 32-bit e glibc 64-bit devem obrigatoriamente ser instalados para que o WebSphere MQ opere corretamente.

1.3 Espaço mínimo requerido para instalação

O espaço requerido para instalação do WebSphere MQ depende dos componentes escolhidos para instalação. A instalação mínima, por exemplo, requer 201 Mbytes disponíveis.

1.4 Suporte SSL (Secure Sockets Layer)

Para utilizar o WebSphere MQ com suporte SSL, devem-se instalar as bibliotecas GNU g++ (libgcc_s.so, libstdc++.so.5) e o IBM Global Security Kit V7 (gskit), que é fornecido com o WebSphere MQ como componente de instalação opcional.

Nota: No Linux 64-bit, as bibliotecas GNU g++ 32-bit e GNU g++ 64-bit devem ser instaladas para que os processos de qualquer arquitetura utilizem corretamente as funções do SSL.

2. Preparando para instalação do WebSphere MQ

2.1 Criando usuário e grupo ‘mqm’

Antes de prosseguir com a instalação do WebSphere MQ é necessário que seja criado o usuário ‘mqm’, que será o dono dos diretórios e arquivos que contém os recursos do WebSphere MQ. Além do usuário, é preciso também criar o grupo ‘mqm’, que será utilizado como grupo primário para este usuário. Este grupo será usado para fins de administração de segurança, visto que os usuários participantes deste grupo terão privilégios administrativos no WebSphere MQ.

Para criar o grupo ‘mqm‘, abra uma sessão do Linux como usuário root e digite no prompt o seguinte comando:

(newline)groupadd mqm(newline)

É recomendável que o diretório $HOME do usuário ‘mqm‘ seja o /var/mqm ao invés do tradicional /home/mqm. O diretório /var/mqm contém arquivos de configuração do WebSphere MQ e dos gerenciadores de filas criados no sistema, logs de transação do MQ, log de erros, entre outros. É recomendável que o espaço alocado para este diretório seja de no mínimo 130 Mbytes.

Para criar o usuário ‘mqm‘ com as características descritas acima, ainda na mesma sessão iniciada com usuário root, digite:

(newline)useradd mqm -m -g mqm -d /var/mqm(newline)

E para atribuir uma senha de acesso ao usuário ‘mqm‘, digite:

(newline)passwd mqm(newline)

2.2 Componentes do WebSphere MQ

O processo de instalação oferece vários componentes para customização dos serviços. Os componentes obrigatórios são:

  • MQSeries Runtime
  • MQSeries Server

Na Tabela 1 é apresentado a lista completa dos componentes disponíveis com o pacote do WebSphere MQ e uma breve descrição de cada um deles.

Tabela 1: Lista de componentes disponíveis com o WebSphere MQ

Componente Descrição Pacote
Runtime Componente mandatório. Necessário para o desenvolvimento de aplicações e suporte a aplicações externas. MQSeriesRuntime
Server Componente mandatório. Permite rodar gerenciadores de filas locais e,conectar com outros gerenciadores de filas através da rede. Fornece,também os serviços de mensagem e enfileiramento para aplicações,externas. MQSeriesServer
SDK Necessário para compilar aplicações. MQSeriesSDK
Client Permite o acesso a gerenciadores de filas remotos. MQSeriesClient
Sample programs Aplicação demo que usa o WebSphere MQ MQSeriesSamples
Java messaging Contém as bibliotecas Java para os serviços e envio de mensagens e enfileiramento. MQSeriesJava
SSL support Suporta gerenciamento de chaves SSL. MQSeriesKeyman
IBM Java JRE (32-bit) Instalação do IBM 32-bit Java Runtime Environment MQSeriesJRE
Man pages Manual em inglês para: 1. Control Commands 2. Message Queue Interface commands 3. MQSC commands MQSeriesMan
Extended Transactional Client Permite que clientes executem PUT & GET em filas que não são gerenciadas pelo gerenciador de filas conectado. MQSeriesTXClient
WebSphere MQ Explorer Instala a ferramenta de navegação gráfica. MQSeriesConfig
WebSphere Eclipse Platform Pré-requisito para executar o WebSphere MQ Explorer. MQSeriesEclipseSDK33
WebSphere MQ File Transfer Application Permite enviar e receber qualquer tipo de mensagens através do WebSphere MQ. MQSeriesFTA
Language Message Catalog Habilita as mensagens do WebSphere MQ em outras línguas. MQSeriesMsg_xx
IBM Global Security Kit V7 SSL Runtime 32-bit gsk7bas
IBM Global Security Kit V7 64 SSL Runtime 64-bit gsk7bas64

3. Instalando o WebSphere MQ Server

Neste procedimento, vamos instalar os seguintes componentes:

  • MQSeriesRuntime
  • MQSeriesServer
  • MQSeriesSDK
  • MQSeriesClient
  • MQSeriesSamples
  • MQSeriesJava
  • MQSeriesKeyman
  • MQSeriesMan
  • gsk7bas

Nota: A instalação do WebSphere MQ deve ser realizada com o usuário root.

3.1 Procedimento de instalação

  1. Abra uma sessão do Linux como usuário root.
  2. Faça o download do WebSphere MQ. Versão de avaliação disponível em: http://www.ibm.com/developerworks/downloads/ws/wmq/
  3. Salve o arquivo com o código de instalação do WebSphere MQ em um diretório com espaço suficiente para descompactação.
  4. Descompacte o arquivo de instalação.
  5. Execute o script _mqlicense.sh_para aceitar a licença de instalação do software (a Figura 1 mostra a sintaxe do comando e o resultado gerado).

Figura 1: Aplicando a licença MQ

Prompt de comando aplicando licença

  1. Utilize o RPM Package Manager Installer para realizar a instalação dos componentes desejados. A sintaxe do comando é apresentada a seguir e a Figura 2 mostra o seu resultado.
rpm -ivh MQSeriesRuntime-7.0.1-3.x86_64.rpm MQSeriesServer-7.0.1-3.x86_64.rpm MQSeriesSDK-7.0.1-3.x86_64.rpm(newline)MQSeriesClient-7.0.1-3.x86_64.rpm MQSeriesJava-7.0.1-3.x86_64.rpm MQSeriesSamples-7.0.1-3.x86_64.rpm(newline)gsk7bas-7.0-4.27.i386.rpm gsk7bas64-7.0-4.27.x86_64.rpm MQSeriesKeyMan-7.0.1-3.x86_64.rpm MQSeriesMan-7.0.1-3.x86_64(newline)

Figura 2: Resultado da instalação do WebSphere MQ

Prompt de comando instalando WebSphere MQ

Nota: Se você estiver rodando qualquer versão do Linux que utilize o empacotamento DPKG, instale os pacotes do RPM e execute o comando de instalação adicionando os parâmetros conforme descrito abaixo:

Para instalar os pacotes RPM, execute o comando no prompt do Linux:

(newline)apt-get install rpm*(newline)

Execute o comando de instalação dos componentes do WebSphere MQ da seguinte forma:

(newline)rpm -ivh --nodeps --force-debian (less-thanlista de componentes MQ(greater-than(newline)

4. Verificando a instalação do WebSphere MQ Server

Para validar a instalação do WebSphere MQ e também apresentar suas operações básicas, vamos criar um gerenciador de filas, uma nova fila e inserir/retirar mensagens desta fila.

4.1 Configurando o ambiente

Observe que no procedimento a seguir apenas inserimos e retiramos a mensagem da mesma fila, no mesmo gerenciador de filas, conforme esquematizado na Figura 3.

Figura 3: Inserindo e retirando mensagem de fila local

Figura demonstando gerenciamento de filas

Abra uma nova sessão do Linux, desta vez com usuário ‘mqm‘, e então execute os comandos a seguir.

  1. Verifique a versão do MQ instalado (a Figura 4 mostra a sintaxe do comando e o resultado gerado):

Figura 4: Versão do MQ instalado

Prompt de comando indicando versão

  1. Crie um gerenciador de filas padrão chamado QMGR1.GER.FILAS (a Figura 5 mostra a sintaxe do comando e o resultado gerado):

Figura 5: Criação do gerenciador de filas QMGR1.GER.FILAS

Prompt de comando criando gerenciador de filas

  1. Liste os gerenciadores de filas disposníveis (a Figura 6 mostra a sintaxe do comando e o resultado gerado):

Figura 6: Gerenciadores de filas disponíveis

Prompt de comando indicando gerenciador de filas

  1. Inicie o gerenciador de filas QMGR1.GER.FILAS (a Figura 7 mostra a sintaxe do comando e o resultado gerado):

Figura 7: Início de execução do gerenciador de filas

Prompt de comando iniciando gerenciador de filas

  1. Verifique o status do gerenciador de filas QMGR1.GER.FILAS (a Figura 8 mostra a sintaxe do comando e o resultado gerado):

Figura 8: Status do gerenciador de filas

Prompt de comando indicando status do gerenciados de filas

  1. Abra uma sessão de comandos MQSC conforme o comando abaixo:
(newline)runmqsc QMGR1.GER.FILAS(newline)
  1. No console do MQSC crie uma fila local chamada Q1.FILA (a Figura 9 mostra a sintaxe do comando e o resultado gerado):

Figura 9: Criação da fila local Q1.FILA

Prompt de comando criando fila local

  1. Finalize a sessão de comandos MQSC:
(newline)end(newline)

4.2 Testando o MQ

Após a criação do gerenciador de filas QMGR1.GER.FILAS e da fila Q1.FILA, estamos aptos a realizar o teste de inserção e remoção de mensagens da fila. Este teste é demonstrado a seguir.

  1. Coloque uma mensagem na fila Q1.FILA: (newline)/opt/mqm/samp/bin/amqsput Q1.FILA QMGR1.GER.FILAS(newline)
  2. Escreva qualquer mensagem no formato texto, seguido de uma linha em branco e tecle ‘ENTER’ (a Figura 10 mostra a sintaxe do comando, a mensagem e o resultado gerado):

Figura 10: Inserindo mensagem na fila local Q1.FILA

Prompt de comando inserindo mensagem na fila

  1. Retire a mensagem da fila Q1.FILA: (newline)/opt/mqm/samp/bin/amqsget Q1.FILA QMGR1.GER.FILAS(newline)
  2. A mensagem inserida nos passos 9 e 10 deverá ser apresentada conforme a Figura 11.

Figura 11: Retirando mensagem da fila local Q1.FILA

Prompt de comando retirando mensagem na fila

Deve-se notar que o WebSphere MQ oferece recursos muito mais sofisticados, como o envio de mensagens para outras filas e/ou para gerenciadores de filas remotos. A Figura 12 apresenta a estrutura e os objetos do WebSphere MQ necessários para que haja comunicação entre dois gerenciadores de filas possibilitando a troca de mensagens entre ambos.

Figura 12: Fluxo de mensagens entre diferentes gerenciadores de filas

Fluxo de mensagens na fila

5. Instalando o WebSphere MQ Client

Para a instalação do WebSphere MQ Client apenas os componentes MQSeriesRuntime e MQSeriesClient devem ser instalados. Utilize o procedimento descrito no item ‘Instalando o WebSphere MQ Server’ como referência, uma vez que o procedimento difere somente nos pacotes instalados.

6. Aplicando pacotes de correção no MQ Server

Antes de aplicar pacotes de correção, é necessário que todos os gerenciadores de filas estejam parados.

  1. Primeiramente como usuário ‘mqm’, verifique a versão corrente do MQ instalado (a Figura 13 mostra a sintaxe e o resultado gerado):

Figura 13: Versão do MQ antes da instalação do pacote de manutenção

Prompt de comando indicando versão

  1. Como usuário ‘mqm‘, verifique o status dos gerenciadores de filas (a Figura 14 mostra a sintaxe do comando e o resultado gerado):

Figura 14: Status do gerenciador de filas

Prompt de comando indicando status do gerenciador de filas

Note que o gerenciador de filas QMGR1.GER.FILAS está em execução

  1. Ainda como usuário ‘mqm‘, pare o gerenciador de filas QMGR1.GER.FILAS (a Figura 15 mostra a sintaxe do comando e o resultado gerado):

Figura 15: Pare o gerenciador de filas QMGR1.GER.FILAS

Prompt de comando parando gerenciador de filas

  1. A partir deste passo todos os comandos devem ser executados como usuário root. Liste os componentes MQ instalados (a Figura 16 mostra a sintaxe do comando e o resultado gerado):

Figura 16: Lista de pacotes MQ instalados antes da instalação do pacote de manutenção

Prompt de comando indicando lista de pacotes

  1. Com base nos pacotes MQ instalados, conforme resultado do passo 3, utilize o RPM Package Manager Installer para realizar a instalação dos componentes necessários. A sintaxe do comando é apresentada a seguir e a Figura 17 mostra o seu resultado.
(newline) rpm -Uvh MQSeriesRuntime-U849729-7.0.1-9.x86_64.rpm MQSeriesServer-U849729-7.0.1-9.x86_64.rpm(newline) MQSeriesClient-U849729-7.0.1-9.x86_64.rpm MQSeriesSamples-U849729-7.0.1-9.x86_64.rpm(newline)MQSeriesSDK-U849729-7.0.1-9.x86_64.rpm MQSeriesJava-U849729-7.0.1-9.x86_64.rpm(newline)MQSeriesKeyMan-U849729-7.0.1-9.x86_64.rpm MQSeriesMan-U849729-7.0.1-9.x86_64.rpm(newline)

Figura 17: Resultado da instalação do pacote de manutenção do WebSphere MQ

Prompt de comando instalando pacote de manutenção

  1. Liste os componentes MQ instalados (a Figura 18 mostra a sintaxe do comando e o resultado gerado):

Figura 18: Lista de pacotes MQ instalados após a instalação do pacote de manutenção

Prompt de comando com lista de pacotes

  1. Verifique a versão do MQ após a instalação do pacote de manutenção (a Figura 19 mostra a sintaxe e o resultado gerado):

Figura 19: Versão do MQ depois da instalação do pacote de manutenção

Prompt de comando indicando versão

7. Removendo a instalação do MQ

  1. Como usuário ‘mqm‘, verifique o status dos gerenciadores de filas (a Figura 20 mostra a sintaxe do comando e o resultado gerado):

Figura 20: Status dos gerenciadores de filas

Prompt de comando indicando status

  1. Ainda como usuário ‘mqm‘, pare o gerenciador de filas QMGR1.GER.FILAS (a Figura 21 mostra a sintaxe do comando e o resultado gerado):

Figura 21: Pare o gerenciador de filas QMGR1.GER.FILAS

Prompt de comando parando gerenciador de filas

  1. Como usuário root liste os componentes MQ instalados (a Figura 22 mostra a sintaxe do comando e o resultado gerado).

Figura 22: Lista de pacotes MQ instalados

Prompt de comando com lista de pacotes

  1. Com base nos componentes MQ instalados, conforme resultado do passo 3, utilize o RPM Package Manager Installer para realizar a desinstalação dos componentes do MQ. A sintaxe do comando é apresentada a seguir.
rpm -ev MQSeriesServer-U849729-7.0.1-9.x86_64 MQSeriesSamples-U849729-7.0.1-9.x86_64 MQSeriesJava-U849729-7.0.1-9.x86_64(newline)MQSeriesMan-U849729-7.0.1-9.x86_64 MQSeriesRuntime-U849729-7.0.1-9.x86_64 MQSeriesClient-U849729-7.0.1-9.x86_64(newline)MQSeriesSDK-U849729-7.0.1-9.x86_64 MQSeriesKeyMan-U849729-7.0.1-9.x86_64 MQSeriesRuntime-7.0.1-3.x86_64(newline)MQSeriesServer-7.0.1-3.x86_64 MQSeriesClient-7.0.1-3.x86_64 MQSeriesSamples-7.0.1-3.x86_64(newline)MQSeriesKeyMan-7.0.1-3.x86_64 MQSeriesSDK-7.0.1-3.x86_64 MQSeriesJava-7.0.1-3.x86_64 MQSeriesMan-7.0.1-3.x86_64(newline)gsk7bas-7.0-4.41.i386 gsk7bas64-7.0-4.41.x86_64(newline)
  1. Como root veirifique se os componentes do MQ foram removidos com sucesso (a Figura 23 mostra a sintaxe e o resultado do comando):

Figura 23: Verificando se os componentes do MQ foram removidos

Prompt de comando verificando remoção

  1. Como root apague o conteúdo do diretório /var/mqm conforme o comando abaixo:
(newline)rm ‑Rf /var/mqm/∗(newline)

Conclusão

O processo de instalação do WebSphere MQ é simples, mas requer planejamento e conhecimento básico do sistema operacional usado. A escolha antecipada do sistema operacional, das bibliotecas necessárias e os componentes desejados são essenciais para uma instalação bem sucedida.

Este tutorial apresenta também os principais componentes do produto e os passos necessários para instalação. Por fim, mostra as operações de gerenciamento e criação de filas, que auxiliam inclusive no teste do produto instalado.

Referência

IBM. WebSphere MQ

IBM. WebSphere MQ – SupportPacs by Product

IBM. WebSphere MQ – Conceitos e Melhores Práticas

IBM. Configurando MQ para sistema de mensagens ponto a ponto