Tuesday, February 7, 2012

How to Install MQ on Redhat Linux

How to Install MQ on Redhat Linux

1.1 User creation

Login as root to install mq

Create following user with group name of “mqm” which will be used to run MQ
groupadd mqm # add group mqm (purpose of gropuadd is to create
a new group account)
useradd -g mqm mqm # add user mqm to group mqm
(gpn)(usrn)
# gpn – groupname
# usrn -- username
(useradd or usermod command is used to add a user to a
group.useradd command creates a new user or update
default new user information.usermod command modifies a
user account i.e. it is useful to add user to existing
group.User account related info is stored in /etc/passwd,
/etc/shadow and /etc/group.)


1.2 Create mount points to install MQ

create mqm folder under /opt and /var where the Websphere MQ gets installed.
create /opt/mqm

root@li-dev01/> cd /opt/
root@li-dev01/opt> mkdir mqm # make it RW to mqm group and 600MB in space capacity
create /var/mqm as above # make it RW to mqm group and 300MB in space capacity
root@li-dev01/var> mkdir mqm

1.3 Kernel configuration parameters

make following kernel changes (/etc/sysctl.conf ): # mq prerequisites
vi /etc/sysctl.conf
#add these propeties if they are not available
kernel.msgmni = 1024
kernel.shmmni = 4096
kernel.shmall = 2097152

edit /etc/sysctl.conf
#add
kernel.sem 250 32000 32 1024

If you wish to load these sysctl values immediately, enter the command sysctl -p.
Note: If you do not issue the sysctl -p command, the new values are loaded when the system is rebooted.

1.4 Max open files

If the system is heavily loaded, you might need to increase the maximum possible number of open files. If your distribution supports the proc filesystem you can query the current limit by issuing the following command: cat /proc/sys/fs/file-max

If you are using a pluggable security module such as PAM (Pluggable Authentication Module), ensure that this does not unduly restrict the number of open files for the ’mqm’ user. For a standard WebSphere MQ queue manager, set the ’nofile’ value to 10240 or more for the ’mqm’ user. We suggest you add this command to a startup script in /etc/rc.d/…

1.5 Max process

A running WebSphere MQ queue manager consists of a number of thread programs, and each connected application will increase the number of threads running in the queue manager processes. You should ensure that the maximum number of processes which the mqm user is allowed to run is not unduly restricted by one of the pluggable security modules such as PAM. Set nproc for the mqm user to 4090 or more.

1.6 Root access privilege

this is needed when doing the MQ installation.

1.7 64bit consideration

Implications of a 64-bit queue manager Note: A 64-bit queue manager is available on the POWER, x86-64 and zSeries (s390x) platforms. When using the 64-bit queue manager, the use of the LIBPATH and LD_LIBRARY_PATH environment variable is not advised.

The recommended way of using WebSphere MQ commands and your applications is as follows:
• Unset LIBPATH and LD_LIBRARY_PATH and build your applications with a built in path to the appropriate WebSphere MQ libraries, this is detailed in the appropriate WebSphere MQ book for your type of WebSphere MQ application.
• If you need to set LIBPATH or LD_LIBRARY_PATH, consider not including /usr/lib in the path you specify in the variable. If you need to include /usr/lib in your LIBPATH or LD_LIBRARY_PATH then in order to avoid errors running 64-bit WebSphere MQ applications or WebSphere MQ commands, consider removing the symbolic links from /usr/lib to the 32-bit WebSphere MQ libraries using the dltmqlnk command. The symbolic links can be restored with the crtmqlnk command. You also need to build your applications with a built in path to the appropriate WebSphere MQ libraries.
Note that both the dltmqlnk command and the crtmqlnk command are scripts, and take no parameters.
• If you cannot use either of the first two options, run your applications in a different environment to the one which issues any WebSphere MQ commands.
Note: WebSphere MQ libraries are in the following locations: /opt/mqm/lib (32-bit libraries) and /opt/mqm/lib64 (64-bit libraries).

2. Installation of Websphere MQ on Linux:

2.1 Install rpm

2.1.1 Log in as root.

extract Websphere MQ files to the current directory(/home/test/Desktop/MQ)
tar -xzvf Websphere MQ for x86 6.0.tar.gz

And make sure all RPMs are in your current directory(/home/test/Desktop/MQ)

2.1.2 Run the mqlicense.sh script.

If you want to view a text-only version of the license, which can be read by a screen-reader, type:
root@li-dev01/MQ>./mqlicense.sh -text_only
The license is displayed.If want to accept the license without it being displayed, you can run the mqlicense.sh script with the -accept option.

# run this command from the current directory where Websphere MQ files are extracted.
root@li-dev01/MQ>./mqlicense.sh -accept
You must accept the license agreement before you can proceed with the installation.

2.1.3 Install components
Use the rpm -ivh command to install each component that you require.
The minimum components you must install are:
• MQSeriesRuntime
• MQSeriesJRE
• MQSeriesServer
• MQSeriesJava
This example shows a minimum installation:

rpm -ivh MQSeriesRuntime-6.0.0-0.i386.rpm MQSeriesSDK-6.0.0-0.i386.rpm MQSeriesServer-6.0.0-0.i386.rpm MQSeriesJava-6.0.0-0.i386.rpm
(At a strech u can install all the rpms or u can install one by one
(1.) rpm -ivh MQSeriesRuntime-6.0.0-0.i386.rpm
(2.) rpm -ivh MQSeriesSDK-6.0.0-0.i386.rpm
(3.) rpm -ivh MQSeriesServer-6.0.0-0.i386.rpm
(4.) rpm -ivh MQSeriesJava-6.0.0-0.i386.rpm)

for 64bit:
rpm -ivh MQSeriesRuntime-7.0.0-0.x86_64.rpm
rpm -ivh MQSeriesJava-7.0.0-0.x86_64.rpm MQSeriesJRE-7.0.0-0.x86_64.rpm MQSeriesServer-7.0.0-0.x86_64.rpm

You can reinstall the /bin/sh shell using RPM, or specify the RPM option –nodeps to disable dependency checking during installation of WebSphere MQ.

Install rest of the components:
rpm -ivh MQSeriesSDK-7.0.0-0.x86_64.rpm
rpm -ivh MQSeriesSamples-7.0.0-0.x86_64.rpm
rpm -ivh MQSeriesClient-7.0.0-0.x86_64.rpm
rpm -ivh gsk7bas-7.0-4.14.i386.rpm
rpm -ivh gsk7bas64-7.0-4.14.x86_64.rpm
rpm -ivh MQSeriesKeyMan-7.0.0-0.x86_64.rpm
rpm -ivh MQSeriesMan-7.0.0-0.x86_64.rpm
rpm -ivh MQSeriesTXClient-7.0.0-0.x86_64.rpm
rpm -ivh MQSeriesEclipseSDK33-7.0.0-0.x86_64.rpm
rpm -ivh MQSeriesConfig-7.0.0-0.x86_64.rpm

when you are installing MQSeriesIES33-7.0.0-0.x86_64.rpm, if you get any error saying that libstdc++.so is needed then go to the link

http://rpmfind.net/linux/rpm2html/search.php?query=libstdc%2B%2B.so.5&submit=Search+...
And search for libstdc++5.0-3.3.3-62745cl.i386.html GNU c++ library and download and Install that rpm.
(or)

use rpm -ivh -nodeps MQSeriesIES33-7.0.0-0.x86_64.rpm

2.1.4 client install:

Install minimum components:
• MQSeriesRuntime
• MQSeriesJRE
• MQSeriesServer
• MQSeriesJava

for 64bit:
rpm -ivh MQSeriesRuntime-7.0.0-0.x86_64.rpm
rpm -ivh MQSeriesJava-7.0.0-0.x86_64.rpm MQSeriesJRE-7.0.0-0.x86_64.rpm MQSeriesServer-7.0.0-0.x86_64.rpm

Then:
rpm -ivh MQSeriesClient-7.0.0-0.x86_64.rpm

================
2.2 Install verification
================


2.2.1 Create a sample Queue

login as MQM user
su - mqm

mqm@li-dev01>crtmqm -q QM_test.queue.manager #-q indicates default queue manager
There are 90 days left in the trial period for this copy of WebSphere MQ.
WebSphere MQ queue manager created.
Creating or replacing default objects for QM_test.queue.manager.
Default objects statistics : 58 created. 0 replaced. 0 failed.
Completing setup.
Setup completed.

# if queue manager is not created and gives AMQ8081 error with 863 code
download fixpack from
http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24015717

tar -xvf 6.0.2-WS-MQ-LinuxIA32-FP0005.tar
Make sure that Fix pack is extracted in the directory(/home/test/Desktop/Patch)

rpm -ivh all the below rpms

• MQSeriesRuntime
• MQSeriesJRE
• MQSeriesServer
• MQSeriesJava

# if queue manager is not created and gives AMQ8108 error with 893 code then install IBMJava2-142-ia32-SDK-1.4.2-6.0.i386.rpm from the fix pack,

when you are installing this rpm if you get any error saying that libXp.so, then go to the link and download that and install this rpm
ftp://ftp.pbone.net/mirror/ftp.centos.org/5.4/os/x86_64/CentOS/libXp-1.0.0-8.1.el5.i386.rpm

mqm@li-dev01>strmqm
There are 90 days left in the trial period for this copy of WebSphere MQ.
WebSphere MQ queue manager ‘QM_test.queue.manager’ starting.
5 log records accessed on queue manager ‘QM_test.queue.manager’ during the log replay phase.
Log replay for queue manager ‘QM_test.queue.manager’ complete.
Transaction manager state recovered for queue manager ‘QM_test.queue.manager’.
WebSphere MQ queue manager ‘QM_test.queue.manager’ started.

mqm@li-dev01>runmqsc
5724-H72 (C) Copyright IBM Corp. 1994, 2008. ALL RIGHTS RESERVED.
Starting MQSC for queue manager QM_test.queue.manager.

define qlocal (test_QL.queue)
1 : define qlocal (test_QL.queue)
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@li-dev01>

2.2.2 Test the sample queue
mqm@li-dev01>cd /opt/mqm/samp/bin
mqm@li-dev01>./amqsput test_QL.QUEUE
Sample AMQSPUT0 start
target queue is test_QL.QUEUE
Sample AMQSPUT0 end

# if /opt/mqm/samp/bin is not found install rpm MQSeriesSamples.

Sample AMQSPUT0 end
mqm@li-dev01>./amqsget test_QL.QUEUE
Sample AMQSGET0 start
message
no more messages
Sample AMQSGET0 end


3. Uninstalling Websphere MQ in Linux:


Remove install RPMs

login as root

root@websphere mwinstall]# rpm -ivh IBMJava2-SDK-1.4.2-0.0.i386.rpm to install, so I queried to find out what the software name of the rpm was as you cannot use the rpm filename that you used to install the rpm.

root@websphere mq]# rpm -qa | grep IBM
IBMJava2-SDK-1.4.2-0.0

rpm -e IBMJava2-SDK-1.4.2-0.0

This worked however for the other rpm;s I had to remove the fix-packs first

Remove fix pack rpm's

Use this command to see which Websphere MQSeries base rpms and fixpacks are installed
root@websphere mq]# rpm -qa | grep MQSeries

I used rpm -ivh IBMJava2-142-ia32-SDK-1.4.2-6.0.i386.rpm to apply fix pack
So I used rpm -e IBMJava2-142-ia32-SDK-1.4.2-6.0

install: rpm -ivh MQSeriesRuntime-U809950-6.0.2-2.i386.rpm
remove: rpm -e MQSeriesRuntime-U809950-6.0.2-2

install: rpm -ivh MQSeriesServer-U809950-6.0.2-2.i386.rpm
remove: rpm -e MQSeriesServer-U809950-6.0.2-2

install: rpm -ivh MQSeriesJava-U809950-6.0.2-2.i386.rpm
remove: rpm -e MQSeriesJava-U809950-6.0.2-2

Remove base rpm's

I had to do in this order

rpm -e MQSeriesJava-6.0.0-0

rpm -e MQSeriesServer-6.0.0-0

rpm -e MQSeriesRuntime-6.0.0-0

Query to make sure they have all been removed

rpm -qa | grep MQSeries

Remove MQ directories

/opt/mqm # cd /opt , rm -rf mqm
/var/mqm # cd /var , rm -rf mqm

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.