25 juni 2009

WMB 6.1 @ Ubuntu 9.04


I have WMB 6.1.0.4 with DB2 9.5.0.4 & MQ 7.0.0.2 running on my Ubuntu 9.04 laptop, this blog posting shows what I have done to get that working.


<user> and <password> are the user and password that you use on your Ubuntu pc.

Ubuntu multi-media setup


If you have a default Ubuntu install then not everyting from *.ibm.com is working. To get Download Director, Education Assistant, etc working you can use below commands.

sudo wget http://www.medibuntu.org/sources.list.d/jaunty.list --output-document=/etc/apt/sources.list.d/medibuntu.list
sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update

sudo apt-get install ubuntu-restricted-extras libdvdcss2 libdvdread4 w32codecs msttcorefonts flashplugin-installer 
sudo /usr/share/doc/libdvdread4/install-css.sh

sudo apt-get install sun-java6-jdk sun-java6-jre sun-java6-fonts sun-java6-plugin
sudo apt-get install mplayer mozilla-mplayer

Turn of Visual Effects


A bug in Java or DB2-setup give sometimes a grey screen, turning of Visual Effects solves this. (and your laptop is faster)

System -> Preferences -> Appearance -> Visual Effects -> None.

Allow other local users to connect locally to the X-Server


Somtimes you are working as the DB2 instance user, MQM owner and want to start a GUI, with below tweaks this is possible.
sudo vi /etc/gdm/gdm.conf
change "DisallowTCP=true" into "DisallowTCP=false"

sudo vi /etc/profile
add the line "export DISPLAY=localhost:0.0"

vi ~/.profile
add the line "xhost +localhost"

Add more shared memory


Tuning Ubuntu for DB2 and/or MQ can be difficult, for now we only need below setting.
sudo vi /etc/sysctl.conf
add the line "kernel.shmmax=536870912"

Change the password algorithm


The default ubuntu setting for password hashes (sha512) creates a hash thats to long for DB2
sudo vi /etc/pam.d/common-password
change "sha512" to "md5"
Change your password to make the change active, if you want to keep the same password you must do it as root.
sudo passwd <user>
Restart the machine now to make all above ubuntu tweaks active.

DB2, MQ, WMB software


Below the files I used, A total of 5.3 GB. You can get it from IBM PartnerWorld and the support sites for DB2, MQ & WMB.
~/install/db2/DB2_WSE_V95_Linux_x86.tar
~/install/db2/DB2_WSE_Auth_User_Activation_V95.zip
~/install/db2/db2exc_952_LNX_x86.tar.gz

~/install/mq/CZ0EWML.tar.gz
~/install/mq/7.0.0-WS-MQ-LinuxIA32-FP0002.tar.gz

~/install/broker/C19YSML.tar.gz
~/install/broker/6.1.0-WS-MB-LINUXIA32-FP0004.tar.Z

~/install/toolkit/C19Z2ML.tar.gz
~/install/toolkit/C19Z3ML.tar.gz
~/install/toolkit/C19Z4ML.tar.gz
~/install/toolkit/agent.installer.linux.gtk.x86.zip
~/install/toolkit/MB6100_6104.zip

~/install/info/db2_v95_linuxia32_nonroot_infocenter.tar.gz
~/install/info/WebSphere_MQ_V7_Information_Center_Lin_TGZ.zip
~/install/info/wmb_help_linux.tgz

DB2 install

sudo apt-get install libaio1
cd ~/install/db2
mkdir base
cd base
tar xf ../DB2_WSE_V95_Linux_x86.tar
sudo ./db2setup2
Now there are many options possible, below what I did.
- Custom install.
- Selected "Select All" and then de-select 'Informix datasource support' under servers
- Not installed the SA MP Base Compoment
- User configuration:
    DB2 administration server:
      user: db2admin
      group: db2
    DB2 instance:
      user: db2
      group: db2
    Fenced user:
      user: db2soft
      group: db2
- No autostart
- No SMTP notifications
Add yourself to the DB2 groups (in above example it is just one group named db2)
sudo usermod -a -G db2 root
sudo usermod -a -G db2 

DB2 license

cd ~install/db2
mkdir lic
cd lic
unzip ../ DB2_WSE_Auth_User_Activation_V95.zip
sudo /opt/ibm/db2/V9.5/adm/db2licm -a db2/license/db2wse_u.lic

DB2 upgrade

. /home/db2/sqllib/db2profile
db2stop

. /home/db2admin/das/dasprofile
db2admin stop

cd ~/install/db2
mkdir update
cd update
tar xf ../db2exc_952_LNX_x86.tar.gz 
cd expc

sudo ./installFixPack 
/opt/ibm/db2/V9.5

Starting the DB2 control center.

su - db2
db2cc

MQ install

cd ~/install/mq
mkdir base
cd base
tar zxf ../CZ0EWML.tar.gz

sudo apt-get install rpm

sudo ./mqlicense.sh

rm MQSeriesMsg*
rm MQSeriesKeyMan*

sudo rpm -i MQSeries* --nodeps
Adding root and yourself to the mqm group.
sudo usermod -a -G mqm root
sudo usermod -a -G mqm <user>

MQ update

cd ~install/mq
mkdir update
cd update
tar zxf ../7.0.0-WS-MQ-LinuxIA32-FP0002.tar.gz

rm MQSeriesMsg*
rm MQSeriesKeyMan*

sudo rpm -i MQSeries*
Starting the WebSphere Exploper
sudo strmqcfg

Broker install


cd ~install/broker
mkdir base
cd base
tar zxf  ../C19YSML.tar.gz
cd  messagebroker_runtime1

sudo groupadd mqbrkrs

sudo ./setuplinuxia32 -console
Adding root and yourself to the mqbrkrs group
sudo usermod -a -G mqbrkrs root
sudo usermod -a -G mqbrkrs <user>

Broker update

cd ~install/broker
mkdir update
cd update
tar zxf ../6.1.0-WS-MB-LINUXIA32-FP0004.tar.Z
cd disk1

sudo ./setuplinuxia32 -console

Toolkit install

cd ~install/toolkit
mkdir base
cd base
tar zxf ../C19Z2ML.tar.gz
tar zxf ../C19Z3ML.tar.gz
tar zxf ../C19Z4ML.tar.gz

cd disk1
sudo ./installToolkit.sh
The default location is a bit strange, eq /opt/IBM/ , all other IBM software is installed under /opt/ibm/ (under Linux those are 2 different directories), I used below targets.
/opt/ibm/toolkit/shared
/opt/ibm/toolkit/manager
/opt/ibm/toolkit/wmb/code>

Toolkit - Upgrade - Internet connection


Online (internet connection)
sudo /opt/ibm/toolkit/manager/eclipse/IBMIM
Click on upgrade (twice, once for IM and once for WMB)

Toolkit - Upgrade - no internet connection

cd ~install/toolkit
mkdir update
cd update
mkdir im
cd im
unzip ../../agent.installer.linux.gtk.x86.zip
cd ..
mkdir wmb
cd wmb
unzip ../../MB6100_6104.zip

sudo /opt/ibm/toolkit/manager/eclipse/IBMIM
create 2 local repositories ( file -> preferences )
install/toolkit/update/im/repository.config
install/toolkit/update/wmb/MB6100_6104/repository.config
and update the software (twice, once for IM, once for WMB)

Starting the toolkit

/opt/ibm/tookit/wmb/eclipse -product com.ibm.etools.msgbroker.tooling.ide
Btw: The toolkit is the only thing that has installed itself in the Ubuntu menu: Applications => IBM Software Development Platform

Localy installing Information Centers


Both DB2 and MQ have options to install the Information Center as a service, below a portable solution that you can put on your USB stick and use on every Linux machine.
cd ~install/info
tar zxf db2_v95_linuxia32_nonroot_infocenter.tar.gz
unzip WebSphere_MQ_V7_Information_Center_Lin_TGZ.zip
tar zxf WebSphere_MQ_V7_Information_Center_Lin.tgz
tar zxf wmb_help_linux.tgz

cd ~
mkdir InfoCenters
cd InfoCenters

mv /home/herbert/install/info/DB2\ v95\ Information\ Center/ db2
mv /home/herbert/install/info/InfoCenter_for_Linux/ mq
mv /home/herbert/install/info/ibm_help wmb

vi db2/help_start 
add option '-port 25001'

vi mq/ibm_help/help_start.sh 
add option '-port 25002'

vi wmb/help_start.sh 
add option '-port 25003'

chmod 755 wmb/help_start.sh help_stop.sh
chmod 755 wmb/jre/jre/bin/java
vi start.sh
#!/bin/sh
cd `dirname $0`

cd db2
nohup ./help_start &

cd ../mq/ibm_help
nohup ./help_start.sh &

cd ../../wmb
nohup ./help_start.sh &
vi stop.sh
#!/bin/sh
cd `dirname $0`

cd db2
nohup ./help_end &

cd ../mq/ibm_help
nohup ./help_end.sh &

cd ../../wmb
nohup ./help_end.sh &
Make the scripts executable.
chmod 755 start.sh stop.sh

Creating the Default Configuration


The Default Configuration Wizard is not working for me. It thinks that my unix password is wrong, and worse, it does not see that my user is in de DB2 groups. So I created the default configuration by hand.
. ~db2admin/das/dasprofile
db2admin start

. ~db2/sqllib/db2profile
db2start
db2 create database DEFBKD61
Now we must make an ODBC entry.
sudo vi /var/mqsi/odbc/.odbc.ini
and add below lines
[DEFBKD61]
Driver=/opt/ibm/db2/V9.5/lib32/libdb2.so
Description=DB2V9DB DB2 ODBC Database
Database=DEFBKD61
Create the config manager and the broker.
. /opt/ibm/mqsi/6.1/bin/mqsiprofile
mqsicreateconfigmgr WBRK61_DEFAULT_CONFIGURATION_MANAGER -i <user> -a <password> -q WBRK61_DEFAULT_QUEUE_MANAGER
mqsicreatebroker WBRK61_DEFAULT_BROKER -i <user> -a <password> -q WBRK61_DEFAULT_QUEUE_MANAGER -n DEFBKD61 -u <user> -p <password>
The mqsicreate.. commands are creating a queuemanager if needed, however the listener is not created ( ^D means you must press control-D there )
runmqsc WBRK61_DEFAULT_QUEUE_MANAGER

DEFINE LISTENER(TCP) TRPTYPE(TCP) PORT(2424) CONTROL(QMGR)
start LISTENER(TCP)
^D
Ok, let's start it:
mqsistart WBRK61_DEFAULT_BROKER
mqsistart WBRK61_DEFAULT_CONFIGURATION_MANAGER
Wait a few seconds and then look at the result.
tail -n 50 /var/log/syslog
Now we can start the Broker toolkit to add the Default Configuration to our workspace.
/opt/ibm/tookit/wmb/eclipse -product com.ibm.etools.msgbroker.tooling.ide
If you want to import examples into your workspace it is important to use below names for the Domain connection, see also the screen-shots.

Server project: LocalProject
Connection name: LocalDomain.configmgr

Starting and stopping


Finaly we can create a start and stop script, it combines everything installed/configured above.

Start script.

#!/bin/sh

strmqm WBRK61_DEFAULT_QUEUE_MANAGER

. ~db2admin/das/dasprofile

db2admin start

. ~db2/sqllib/db2profile

db2start

. /opt/ibm/mqsi/6.1/bin/mqsiprofile

mqsistart WBRK61_DEFAULT_BROKER
mqsistart WBRK61_DEFAULT_CONFIGURATION_MANAGER

nohup db2cc &
nohup strmqcfg &
nohup /opt/ibm/toolkit/wmb/eclipse -product com.ibm.etools.msgbroker.tooling.ide &

~/InfoCenters/start.sh
stop script
#!/bin/sh

endmqm WBRK61_DEFAULT_QUEUE_MANAGER

. ~db2admin/das/dasprofile
db2admin stop

. ~db2/sqllib/db2profile
db2stop

. /opt/ibm/mqsi/6.1/bin/mqsiprofile

mqsistop WBRK61_DEFAULT_BROKER
mqsistop WBRK61_DEFAULT_CONFIGURATION_MANAGER

~/InfoCenters/stop.sh

4 opmerkingen:

Anoniem zei

I had same problem as you on Redhat--couldn't get MBTK config wizard to work. I followed your steps to manually create it. However, I can't figure out how to get it into the GUI. I dont' see your screenshots. Can you assist?

jlo zei

thanks for the information. I have gotten it up with some little variant.
(1) I am usgin express-c 9.7
(2) I am using Karmic Koala, so I will have to install the libstdc++5 package for mqsi installation.
(3) I run the Ubuntu on virtualbox with db2/mq/mqsi. but I run MBTK from the host to connect into the MQSI.
(4) initial startup and connection to MQSI looks good not running any message flow yet. see if I could update something once that is done.

Anoniem zei

I folowed your tutorial but in the
mqsicreateconfigmgr step I got "Segmentation fault" error. No error code, nothing just segmentation fault.
The syslog says the following:
segfault at 552e5355 eip b79336b8 esp bfa86990 error 4
Any idea what could be wrong?

Anoniem zei

Still using the howto every time I setup a new rig (usually Debian in stead of Ubuntu though). Now I've got a new problem: I want to host the configuration database in an Oracle XE database on a second Debian image, and I cannot get the broker to connect to it using the standard ODBC setup. Good one, ey? I'll post a howto on MQSeries.net as soon as I get it running ;)