Wednesday, 10 June 2015

WebSphere MQ Explorer v8 and the IBM Integration Bus 9 Explorer

Again, I'm experimenting with IBM Integration Bus 9, prior to building an IBM BPM <-> IIB <-> MQ <-> DB2 demonstration in the next week or so.

I'm using a Red Hat Enterprise Linux 6.6 VM, and this is a summary of the steps I followed: -

Prepare to install the SupportPac - IBM Integration Bus ODBC Database Extender (IE02)

mkdir /opt/ibm/IE02
mkdir /opt/ibm/IE02/2.0.1
chown -R wmbadmin:mqbrkrs /opt/ibm/IE02


Install IE02

/tmp/IIB/integrationbus_runtime1/IE02/install-ie02.bin 

Prepare to install the IIB Explorer

mkdir /opt/IBM/IBExplorer
chown -R wmbadmin:mqbrkrs /opt/IBM/IBExplorer/


Install IIB Explorer

/tmp/IIB/integrationbus_runtime1/IBExplorer/install.bin

Initialise MQ Explorer configuration

/usr/bin/strmqcfg -c -i

-c -clean is passed to Eclipse. This causes Eclipse to delete any cached data used by the Eclipse runtime.
-i -init is passed to Eclipse. This causes Eclipse to discard configuration information used by the Eclipse runtime.


Modify MQ Explorer configuration to allow it to "find" IIB Explorer

vi /opt/mqm/mqexplorer/eclipse/links/com.ibm.wmadmin.broker.explorer.link

Add: -

path=/opt/IBM/IBExplorer

UPDATE - thanks to this blog post for allowing me to do this: -

WMB Explorer is not opening with MQ Explorer issue

Start MQ Explorer

/usr/bin/strmqcfg

MQ Explorer: Using existing workspace: /var/mqm/IBM/WebSphereMQ/workspace/ (MQ 8.0)
com.ibm.wmqfte.product.root=/opt/mqm/mqft

However, things went a bit Pete Tong when I attempted to create the default IIB Integration Node configuration, at which point I saw: -

java: cairo-misc.c:380: _cairo_operator_bounded_by_source: Assertion `NOT_REACHED' failed.
JVMDUMP039I Processing dump event "abort", detail "" at 2015/06/10 20:23:49 - please wait.
JVMDUMP032I JVM requested System dump using '/usr/bin/core.20150610.202349.27976.0001.dmp' in response to an event
JVMDUMP030W Cannot write dump to file /usr/bin/core.20150610.202349.27976.0001.dmp: Permission denied
JVMPORT030W /proc/sys/kernel/core_pattern setting "|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e" specifies that the core dump is to be piped to an external program.  Attempting to rename either core or core.28290.

JVMDUMP010I System dump written to /tmp/core.20150610.202349.27976.0001.dmp
JVMDUMP030W Cannot write dump to file /usr/bin/javacore.20150610.202349.27976.0002.txt: Permission denied
JVMDUMP032I JVM requested Java dump using '/tmp/javacore.20150610.202349.27976.0002.txt' in response to an event
JVMDUMP010I Java dump written to /tmp/javacore.20150610.202349.27976.0002.txt
JVMDUMP032I JVM requested Snap dump using '/usr/bin/Snap.20150610.202349.27976.0003.trc' in response to an event
JVMDUMP030W Cannot write dump to file /usr/bin/Snap.20150610.202349.27976.0003.trc: Permission denied
JVMDUMP010I Snap dump written to /tmp/Snap.20150610.202349.27976.0003.trc
JVMDUMP030W Cannot write dump to file /usr/bin/jitdump.20150610.202349.27976.0004.dmp: Permission denied
JVMDUMP007I JVM Requesting JIT dump using '/tmp/jitdump.20150610.202349.27976.0004.dmp'
JVMDUMP010I JIT dump written to /tmp/jitdump.20150610.202349.27976.0004.dmp
JVMDUMP013I Processed dump event "abort", detail "".


Thankfully this IBM Technote came to the rescue: -


which ties up with my previous experiences with Eclipse crashes of this nature on Red Hat, and required me to amend /opt/mqm/bin/MQExplorer.ini.

vi /opt/mqm/bin/MQExplorer.ini

adding: -

-Dorg.eclipse.swt.internal.gtk.cairoGraphics=false

after the -vmargs line, giving me: -

-startup
../mqexplorer/eclipse/plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
../mqexplorer/eclipse/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20130807-1835
-vm
/opt/mqm/java/jre64/jre/bin
-vmargs
-Dorg.eclipse.swt.internal.gtk.cairoGraphics=false
-Xmx512M


Now, I can start MQ Explorer ( /usr/bin/strmqcfg ) and was able to create the IIB Integration Node configuration, which is nice.



No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...