Friday, 16 October 2020

IBM MQ / IIB / DataPower Gateway and API Connect v2018 admin Training is back now!

For registrations please mail me @ just4traings@gmail.com 

Friday, 16 January 2015

WebSphere MQ 7.5 Installation on Redhat Enterprise Linux

 


WebSphere MQ is an IBM messaging solution which enable applications to communicate each other asynchronously. Application A for example need not to be connected direct to application B to exchange information moreover application B need not to be running for the application A to communicate. Application A simply place the message in container called queue and application B will retrieve the message from that queue when it is available. That is the meaning of asynchronous communication messaging solutions accomplish. Other messaging solutions include Oracle Streams Advanced Queuing
The following post is showing the installation of IBM Webspere MQ version 7.5 on Redhat Enterprise Linux 5.8 (x86_64) platform. You can download the trial software from IBM site. 


In this post:
- Setup WebSphere user and Group
- Kernel Configuration Parameters
- Read and Accept License
- Install WebSphere MQ Components
- Post Installations
- Verifying Installation
- Start WebSphere MQ Explorer GUI

Setup WebSphere MQ User and Group
On UNIX like systems, WebSphere MQ requires a user ID of the name mqm, with a primary group of mqm to own the directories and files of the product. WebSphere MQ installation will automatically create the user and group for you. However you may want to setup in advance
Login to the system as user root then create user and group as follow:
[root@Lugaomqaq ~]# groupadd mqm
[root@Lugaomqaq ~]# useradd -g mqm mqm
[root@Lugaomqaq ~]# passwd mqm
Changing password for user mqm.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@Lugaomqaq ~]#
Kernel Configuration Parameters
To make the following kernel changes log as user with root authority. Open the file "/etc/sysctl.conf" then add or change the following entries to the values shown (if the existing values in file are greater than these values do not change)
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 268435456
kernel.sem = 500 256000 250 1024
net.ipv4.tcp_keepalive_time = 300
To load these sysctl values immediately, execute command "sysctl -p" as follows:
[root@Lugaomqaq ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.sem = 500 256000 250 1024
fs.file-max = 524288
net.ipv4.tcp_keepalive_time = 300
[root@Lugaomqaq ~]#

Add the following information to the "/etc/security/limits.conf" file
mqm              hard    nofile          10240
mqm              soft    nofile          10240
If your Linux system needs more settings go to IBM WebSphere MQ Information Center. Expands WebSphere MQ >Installing > Prepare your system > Addition settings > Linux
Read and Accept License
While login as root set your current working directory to the installation files. Run the "./mqlicense.sh -text_only" command to read accept the license issues or run "./mqlicense.sh -accept" command to accept the license without displaying all text as follows (You must accept the license compliances otherwise you won’t proceed with installation):
[root@Lugaomqaq MQ_7.5.0.2]# ./mqlicense.sh -accept
Licensed Materials - Property of IBM            
 5724-H72
 (C) Copyright IBM Corporation 1994, 2013 All rights reserved.
US Government Users Restricted Rights - Use, duplication or disclosure
restricted by GSA ADP Schedule Contract with IBM Corp.
Agreement accepted:  Proceed with install.
[root@Lugaomqaq MQ_7.5.0.2]#

Install WebSphere MQ Components
At minimum Webspere MQ server installation you must install MQSeriesRuntime and the MQSeriesServer components. However, this example show the minimum installation of the following components 
    MQSeriesRuntime
    MQSeriesServer
    MQSeriesClient
    MQSeriesSDK
    MQSeriesSample
    MQSeriesJava
    MQSeriesMan
    MQSeriesJRE
    MQSeriesExplorer
Log in as root, or switch to the superuser by using the su command. Set your current working directory to the installation files. To install to the default location, "/opt/mqm" use the "rpm –ivh" command to install each component as follow:
[root@Lugaomqaq MQ_7.5.0.2]# rpm -ivh MQSeriesRuntime-7.5.0-2.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MQSeriesRuntime        ########################################### [100%]
[root@Lugaomqaq MQ_7.5.0.2]#
[root@Lugaomqaq MQ_7.5.0.2]# rpm -ivh MQSeriesServer-7.5.0-2.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MQSeriesServer         ########################################### [100%]
After the installation has completed, run the '/opt/mqm/bin/mqconfig'
command, using the 'mqm' user ID.
For example, execute the following statement when running as the 'root' user:
    su mqm -c "/opt/mqm/bin/mqconfig"
The 'mqconfig' command validates that the system configuration satisfies the
requirements for WebSphere MQ, and ensures that the settings for the 'mqm'
user ID are suitably configured.  Other WebSphere MQ administrators in the
'mqm' group can run this command to ensure their user limits are also
properly configured to use WebSphere MQ.
If 'mqconfig' indicates that any of the requirements have not been met,
consult the installation section within the WebSphere MQ Information Center
for details about how to configure the system and user limits.
Run the su mqm -c "/opt/mqm/bin/mqconfig" command as suggested to validate configurations
[root@Lugaomqaq MQ_7.5.0.2]# su mqm -c "/opt/mqm/bin/mqconfig"
mqconfig: Analyzing Red Hat Enterprise Linux Server release 5.8 (Tikanga)
          settings for WebSphere MQ V7.5
System V Semaphores
  semmsl     (sem:1)  500 semaphores                     IBM>=500          PASS
  semmns     (sem:2)  1 of 256000 semaphores     (0%)    IBM>=256000       PASS
  semopm     (sem:3)  250 operations                     IBM>=250          PASS
  semmni     (sem:4)  1 of 1024 sets             (0%)    IBM>=1024         PASS
System V Shared Memory
  shmmax              68719476736 bytes                  IBM>=268435456    PASS
  shmmni              4 of 4096 sets             (0%)    IBM>=4096         PASS
  shmall              1260 of 4294967296 pages   (0%)    IBM>=2097152      PASS
System Settings
  file-max            3570 of 524288 files       (0%)    IBM>=524288       PASS
  tcp_keepalive_time  300 seconds                        IBM<=300          PASS
Current User Limits (mqm)
  nofile       (-Hn)  10240 files                        IBM>=10240        PASS
  nofile       (-Sn)  10240 files                        IBM>=10240        PASS
  nproc        (-Hu)  8 of 10399 processes       (0%)    IBM>=4096         PASS
  nproc        (-Su)  8 of 10399 processes       (0%)    IBM>=4096         PASS
[root@Lugaomqaq MQ_7.5.0.2]#
If you encounter any FAIL go to IBM WebSphere MQ Information Center. Expands WebSphere MQ >Installing > Prepare your system > Addition settings > Linux. See how you can adjust kernel parameters before proceeding with installations
Install other components
[root@Lugaomqaq MQ_7.5.0.2]# rpm -ivh MQSeriesClient-7.5.0-2.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MQSeriesClient         ########################################### [100%]
[root@Lugaomqaq MQ_7.5.0.2]#
[root@Lugaomqaq MQ_7.5.0.2]# rpm -ivh MQSeriesSDK-7.5.0-2.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MQSeriesSDK            ########################################### [100%]
[root@Lugaomqaq MQ_7.5.0.2]#
[root@Lugaomqaq MQ_7.5.0.2]# rpm -ivh MQSeriesSamples-7.5.0-2.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MQSeriesSamples        ########################################### [100%]
[root@Lugaomqaq MQ_7.5.0.2]#
[root@Lugaomqaq MQ_7.5.0.2]# rpm -ivh MQSeriesJava-7.5.0-2.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MQSeriesJava           ########################################### [100%]
[root@Lugaomqaq MQ_7.5.0.2]#
[root@Lugaomqaq MQ_7.5.0.2]# rpm -ivh MQSeriesMan-7.5.0-2.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MQSeriesMan            ########################################### [100%]
[root@Lugaomqaq MQ_7.5.0.2]#
[root@Lugaomqaq MQ_7.5.0.2]# rpm -ivh MQSeriesJRE-7.5.0-2.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MQSeriesJRE            ########################################### [100%]
[root@Lugaomqaq MQ_7.5.0.2]#
[root@Lugaomqaq MQ_7.5.0.2]# rpm -ivh MQSeriesExplorer-7.5.0-2.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MQSeriesExplorer       ########################################### [100%]
[root@Lugaomqaq MQ_7.5.0.2]#

Post Installations
If you have chosen this installation to be the primary installation on the system, set it as the primary installation.  Execute MQ_INSTALLATION_PATH/bin/setmqinst -i -p MQ_INSTALLATION_PATH where MQ_INSTALLATION_PATH represents the directory where WebSphere MQ is installed. Example
[root@Lugaomqaq ~]# /opt/mqm/bin/setmqinst -i -p /opt/mqm/
118 of 118 tasks have been completed successfuly.
'Installation1' (/opt/mqm) set as the Primary Installation.
[root@Lugaomqaq ~]#
If you want to set up the environment to work with this installation use setmqenv command to set various environment variables for a particular installation of WebSphere MQ
[root@Lugaomqaq ~]# su - mqm
 [mqm@Lugaomqaq ~]$ . /opt/mqm/bin/setmqenv -s
[mqm@Lugaomqaq ~]$
Check that the environment is set up correctly using dspmqver command as follow
[mqm@Lugaomqaq ~]$ dspmqver
Name:        WebSphere MQ
Version:     7.5.0.2
Level:       p750-002-130704.TRIAL
BuildType:   IKAP - (Production)
Platform:    WebSphere MQ for Linux (x86-64 platform)
Mode:        64-bit
O/S:         Linux 2.6.18-308.el5
InstName:    Installation1
InstDesc:   
Primary:     Yes
InstPath:    /opt/mqm
DataPath:    /var/mqm
MaxCmdLevel: 750
[mqm@Lugaomqaq ~]$

Verifying Installation
To verify installation configure the default queue manager, use the amqsput sample program to put a message on the queue, then use the amqsget sample program to get the message back from the queue
Log in as a user in the mqm group use command crtmqm to create a queue manager called QMA as follows
[mqm@Lugaomqaq ~]$ crtmqm QMA
WebSphere MQ queue manager created.
Directory '/var/mqm/qmgrs/QMA' created.
The queue manager is associated with installation 'Installation1'.
Creating or replacing default objects for queue manager 'QMA'.
Default objects statistics : 74 created. 0 replaced. 0 failed.
Completing setup.
Setup completed.
[mqm@Lugaomqaq ~]$
Use strmqm command to start the queue manager QMA as follow:
[mqm@Lugaomqaq ~]$ strmqm QMA
WebSphere MQ queue manager 'QMA' starting.
The queue manager is associated with installation 'Installation1'.
5 log records accessed on queue manager 'QMA' during the log replay phase.
Log replay for queue manager 'QMA' complete.
Transaction manager state recovered for queue manager 'QMA'.
WebSphere MQ queue manager 'QMA' started using V7.5.0.2.
[mqm@Lugaomqaq ~]$
Start MQSC to define a local queue called QUEUE1 then stop MQSC as follows
[mqm@Lugaomqaq ~]$ runmqsc QMA
5724-H72 (C) Copyright IBM Corp. 1994, 2011.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager QMA.
DEFINE QLOCAL (QUEUE1)
     1 : DEFINE QLOCAL (QUEUE1)
AMQ8006: WebSphere MQ queue created.
end
     2 : end
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
[mqm@Lugaomqaq ~]$
Change into the MQ_INSTALLATION_PATH/samp/bin directory. Execute "./amqsput QUEUE1 QMA" command, type the message e.g. Hello Tanzania then place enter twice
[mqm@Lugaomqaq ~]$ cd /opt/mqm/samp/bin/
[mqm@Lugaomqaq bin]$
[mqm@Lugaomqaq bin]$ ./amqsput QUEUE1 QMA
Sample AMQSPUT0 start
target queue is QUEUE1
Hello Tanzania
Sample AMQSPUT0 end
[mqm@Lugaomqaq bin]$
Get the messages from the queue as follow:
[mqm@Lugaomqaq bin]$ ./amqsget QUEUE1 QMA
Sample AMQSGET0 start
message <Hello Tanzania>
no more messages
Sample AMQSGET0 end
[mqm@Lugaomqaq bin]$

Start WebSphere MQ Explorer GUI
Log in as a user in the mqm group then run MQExplorer command
[mqm@Lugaomqaq ~]$  MQExplorer