Home

Configure WebSphere eXtreme Scale with WebSphere Commerce

  1. Overview
  2. Infrastructure
  3. Standalone install
  4. Start grid
  5. Verify grid is up and working
  6. Tear down grid
  7. WXS console
  8. Install WXS client on nodes
  9. Integrate WXS with WAS
  10. Exceptions



Overview

This procedure documents how to integrate WebSphere eXtreme Scale v7.1 with WebSphere Application Server Network Deployment v7



Infrastructure

QA Live...

qa8e
qa9e
WXS container
qa4e
qa5e
WXS catalog

QT Delivery...

Host Purpose CPU RAM
host1 WXS Catalog 1 4
host2 WXS Catalog 1 4
qp7l WXS Container 4 32
qp7m WXS Container 4 32
qp8l WXS Container 4 32
qp8m WXS Container 4 32



WXS 7.1 standalone installation

  1. Set up public key authentication to allow execution of commands on remote hosts.

  2. As user root, on each catalog and container host, run slibclean.

  3. To uninstall, stop all WXS processes and then run...

    cd /opt/WXS71/uninstall_wxs
    ./uninstall -OPT silentInstallLicenseAcceptance="true" -OPT installLocation="/opt/WXS71" -silent
    rm -R /opt/WXS71/*

  4. Copy media to catalog and container servers.

    As user wasadmin, from control node, run...

    cd /opt/install/IHS70/htdocs/software
    for i in `echo host1 host2`
    do
        scp 7.0.0.19-WS-UPDI-AixPPC64.zip WXS_CZJ7EML.zip ${i}:/opt/install/WXS/
    done
    

  5. On each host, unpack install media

    unzip WXS_CZJ7EML.zip
    cd WXS_CZJ7EML
    chmod -R 777 *

  6. Install WXS.

    • Install on Catalog hosts...

      cd /opt/install/WXS/WXS_CZJ7EML
      ./install -OPT silentInstallLicenseAcceptance="true" -OPT installLocation="/opt/WXS71" -OPT selectXSConsoleOther="true" -silent

    • Install on Container hosts...

      cd /opt/install/WXS_CZJ7EML
      ./install -OPT silentInstallLicenseAcceptance="true" -OPT installLocation="/opt/WXS71" -silent

  7. Verify installation complete.

    As user wasadmin, from control node, run...

    for i in `echo host1 host2`
    do
      echo " "
      echo $i
      ssh -f $i cat /opt/WXS71/properties/version/WXS.product  
      ssh -f $i cat /opt/WXS71/logs/wxs/install/log.txt
      sleep 4
    done > /tmp/wxs.log
    

  8. Verify with java.

    A user wasadmin, from control node, run...

    for i in `echo host1 host2`
    do
      echo " "
      echo $i
      ssh -f $i /opt/WXS71/java/jre/bin/java -jar  /opt/WXS71/ObjectGrid/lib/objectgrid.jar version
      sleep 4
    done > /tmp/wxsjava.log
    

    You should get...

    WebSphere eXtreme Scale - ObjectGrid Stand-alone Server v4.0 (7.1.0.0) WXS7.1.0.XS [a1025.57350]

  9. Unpack and install the Update Installer

    Note: I've been doing this with X windows

    cd /opt/install/WXS
    scp host1:/opt/install/WXS/7.0.0.19-WS-UPDI-AixPPC64.zip .
    unzip 7.0.0.19-WS-UPDI-AixPPC64.zip
    cd UpdateInstaller
    ./install

    Install to /opt/WXS71/UpdateInstaller

  10. Install fixpacks

    scp host1:/opt/install/WXS/7.1.0.3-WS-WXS-FP0000003.pak /opt/WXS71/UpdateInstaller/maintenance
    scp host1:/opt/install/WXS/7.1.0.3-WS-WXS-IFPM44396.pak /opt/WXS71/UpdateInstaller/maintenance
    cd /opt/WXS71/UpdateInstaller
    ./update.sh

  11. Verify fixpack level

    $ /opt/WXS71/java/jre/bin/java -jar /opt/WXS71/ObjectGrid//lib/objectgrid.jar version
    WebSphere eXtreme Scale - ObjectGrid Stand-alone Server 7.1.0.3 [cf31124.67080]
    $ grep 44396 /opt/WXS71/properties/version/nif/backup/NIFHistory.xml
        <maintenance name="7.1.0.3-WS-WXS-IFPM44396" order="8">
            <param name="payloadid" value="7.1.0.3-WS-WXS-IFPM44396"/>
            <param name="filename" value="7.1.0.3-WS-WXS-IFPM44396.pak"/>
            <param name="supercedes" value="7.1.0.3-WS-WXS-IFPM44396"/>
            <param name="apar" value="PM44396"/>
    

  12. Make MyCo specific directories.

    As user wasadmin, from control node, run...

    for i in `echo host1 host2 qp7l qp7m qp8l qp8m`
    do
        echo " "
        echo "$i"
        ssh -f $i mkdir /opt/WXS71/MyCo
        ssh -f $i mkdir /opt/WXS71/MyCo/logs
        ssh -f $i mkdir /opt/WXS71/MyCo/properties
        ssh -f $i mkdir /opt/WXS71/MyCo/config
        ssh -f $i mkdir /opt/WXS71/MyCo/javaDumps
        ssh -f $i mkdir /opt/WXS71/MyCo/bin
        sleep 2
    done
    

  13. Create catalog server log directories.

    As user wasadmin, from control node, run...

    for i in `echo host1 host2 `
    do
        echo $i
        ssh -f $i mkdir /opt/WXS71/MyCo/logs/${i}cat
    done
    

  14. Create catalog server log directories.

    As user wasadmin, from control node, run...

    for i in `echo qp7l qp7m qp8l qp8m`
    do
        echo $i
        ssh -f $i mkdir /opt/WXS71/MyCo/logs/${i}c1
        ssh -f $i mkdir /opt/WXS71/MyCo/logs/${i}c2
        ssh -f $i mkdir /opt/WXS71/MyCo/logs/${i}c3
        ssh -f $i mkdir /opt/WXS71/MyCo/logs/${i}c4
        ssh -f $i mkdir /opt/WXS71/MyCo/logs/${i}c5
        ssh -f $i mkdir /opt/WXS71/MyCo/logs/${i}c6
    done
    

  15. Create properties file on catalog servers.

    As user wasadmin, from control node, run...

    cd $REPORTS
    for i in `echo host1 host2`
    do
        echo $i
        scp MyCo_Catalog.properties ${i}:/opt/WXS71/MyCo/properties/
    done
    

  16. Create properties file on container servers...

    As user wasadmin, from control node, run...

    cd $REPORTS
    for i in `echo qp7l qp7m qp8l qp8m`
    do
        echo $i
        scp MyCo_Container.properties ${i}:/opt/WXS71/MyCo/properties/
    done
    

  17. On container hosts, create...

    cd $REPORTS
    for i in `echo qp7l qp7m qp8l qp8m`
    do
        echo $i
        scp orb.properties ${i}:/opt/WXS71/java/jre/lib/
    done
    

  18. On each container host, create MyCo-specific copies of config files...

    As user wasadmin, from control node, run...

    cd $REPORTS
    for i in `echo qp7l qp7m qp8l qp8m`
    do
        scp dynacache-remote-deployment.xml ${i}:/opt/WXS71/MyCo/config/
        scp dynacache-remote-objectgrid.xml ${i}:/opt/WXS71/MyCo/config/
    done
    

    Before copying, for each file, set your objectGrid name. For example...

    <objectGrid name="DYNACACHE_REMOTE_MyCo_QT" txTimeout="30">

    ...and set numberOfPartitions and numInitialContainers...

    <?xml version="1.0" encoding="UTF-8"?>
    <deploymentPolicy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://ibm.com/ws/objectgrid/deploymentPolicy ../deploymentPolicy.xsd"
        xmlns="http://ibm.com/ws/objectgrid/deploymentPolicy">
    
        <objectgridDeployment objectgridName="DYNACACHE_REMOTE_MyCo_QT"
           <mapSet name="DYNACACHE_REMOTE"
                    numberOfPartitions="127"
                    minSyncReplicas="0"
                    maxSyncReplicas="0"
                    maxAsyncReplicas="1"
                    numInitialContainers="24"
                    developmentMode="false"
                    replicaReadEnabled="false">
                <map ref="IBM_DC_PARTITIONED_.*" />
           </mapSet>
        </objectgridDeployment>
    </deploymentPolicy>
    

    Where QT represents QT Delivery environment. Substitute your env prefix as required.

  19. Copy container start script (container_start.sh) to container hosts.

    As user wasadmin, from control node, run...

    cd $REPORTS
    for i in `echo qp7l qp7m qp8l qp8m`
    do
        echo $i
        sed "s,foobar,$i,g" container_start.sh > container_start_${i}.sh
        scp container_start_${i}.sh ${i}:/opt/WXS71/MyCo/bin/container_start.sh
    done
    

  20. Copy catalog start scripts to catalog hosts...

    scp catalog_start_host1.sh host1:/opt/WXS71/MyCo/bin/catalog_start.sh
    scp catalog_start_host2.sh host2:/opt/WXS71/MyCo/bin/catalog_start.sh

  21. Set scripts executable.

    As user wasadmin, from control node, run...

    cd $REPORTS
    for i in `echo host1 host2 qp7l qp7m qp8l qp8m`
    do
        echo $i
        ssh -f $i chmod 755 /opt/WXS71/MyCo/bin/*.sh
    done
    

  22. Copy java.security file to container hosts...

    cd $REPORTS
    for i in `echo qp7l qp7m qp8l qp8m`
    do
        echo $i
        scp java.security ${i}:/opt/WXS71/java/jre/lib/security
    done
    

    Our customized file contains the addition...

    networkaddress.cache.ttl=60

    To confirm...

    ssh -f qp8l grep networkaddress /opt/WXS71/java/jre/lib/security/java.security


Start grid

  1. On each catalog host, start catalog servers

    As user wasadmin, from control node, run...

    for i in `echo host1 host2 `
    do
        echo " "
        echo "Starting catalog server on $i"
        ssh -f $i /opt/WXS71/MyCo/bin/catalog_start.sh > catalog_start_${i}.log
    done
    

  2. On each container host, start container servers.

    As user wasadmin, from control node, run...

    for i in `echo qp7l qp7m qp8l qp8m`
    do
        echo " "
        echo "Starting container server on $i"
        ssh -f $i /opt/WXS71/MyCo/bin/container_start.sh > container_start_${i}.log
    done
    

If numInitialContainers is set, the grid will not start until the number of containers outlined is available.

For catalogs, the quorum feature holds the startup of the grid until the number of catalog servers specified as endpoints are available.


Verify grid is up and working

  1. Generate the following reports...

    1. Maps
    2. Containers
    3. Routes

    For the containers report watch the last few lines of the output. It should be like

    Num containers matching = 24
    Total known containers  = 24
    Total known hosts       = 4
    

    If less then 24 containers are up, start the containers which are not up.

    To verify the grid is balanced, watch a few containers in the output. All the containers should have similar (may not always be exactly identical) number of Primary shards. As an example, in the following output, we see two containers each containing 5 Primaries.

    Container: qp7mc5_C-1, Server:qp7mc5, Zone:DefaultZone
        Partition Shard Type          Reserved
        5         AsynchronousReplica false
        12        AsynchronousReplica false
        26        AsynchronousReplica false
        45        AsynchronousReplica false
        55        AsynchronousReplica false
        63        AsynchronousReplica false
        27        Primary             false
        30        Primary             false
        42        Primary             false
        86        Primary             false
        106       Primary             false
    
    Container: qp7mc6_C-1, Server:qp7mc6, Zone:DefaultZone
        Partition Shard Type          Reserved
        1         AsynchronousReplica false
        32        AsynchronousReplica false
        39        AsynchronousReplica false
        89        AsynchronousReplica false
        92        AsynchronousReplica false
        101       AsynchronousReplica false
        20        Primary             false
        67        Primary             false
        87        Primary             false
        102       Primary             false
        110       Primary             false
    

    If we see one or more containers containing a larger number of Primaries when compared to others the grid is imbalanced. There are techniques to rebalance. The easiest way to get out of the situation is to restart.

  2. Verify WAS can connect to grid, from console...

    System Administration | WebSphere eXtreme Scale | Catalog Service domains | yourdomain | Test Connection

  3. Examine logs for success and failure messages...

    $ cd $WC_PROFILE/logs/WC_MyCo
    $ grep "eXtreme Scale Dynamic Cache" SystemOut*.log
    [8/1/11 15:14:01:669 EDT] 00000001 CacheProvider I CWOBJ4500I: WebSphere eXtreme Scale Dynamic Cache provider is successfully initialized.

    Note that if Log Level Detail is set to severe, you will not get this Informational message. The best we can do is verify there are not WXS exceptions.


Cron reports

A cron job is run every 15 minutes on control node, to generate reports...

/opt/install/IHS70/htdocs/reports/run_wxsdetails.sh

...which executes, on host1,...

/opt/WXS71/ObjectGrid/bin/wxsdetails.sh

Output is written to...

host1:/opt/WXS71/ObjectGrid/bin/wxsdetails.txt


Command-line reporting

  1. Verify online containers for grid...

    ssh -f host1 /opt/WXS71/ObjectGrid/bin/xsadmin.sh -p 20110 -containers > containers_host1_20110.txt
    ssh -f host2 /opt/WXS71/ObjectGrid/bin/xsadmin.sh -p 20110 -containers > containers_host2_20110.txt
    ssh -f s1sa7w /opt/WXS71/ObjectGrid/bin/xsadmin.sh -p 20110 -containers > containers_host1_20110.txt
    ssh -f s1sa7x /opt/WXS71/ObjectGrid/bin/xsadmin.sh -p 20110 -containers > containers_host2_20110.txt

  2. Display online containers for grid...

    ./xsadmin.sh -g DYNACACHE_REMOTE_MyCo_QT -m DYNACACHE_REMOTE -p 20110 -containers

  3. Show current bytes used...

    ./xsadmin.sh -p 20110 -mapsizes

    Based on the result of the load tests, additional of network level parameters may be required. Based on the maximum heap usage for the WXS containers, memory based eviction may be required. Additional protocol tuning of the NAGLE, FINWAIT and TCP/IP Window may be required. Network monitoring for load testing may show the need for additional connectivity between WXS and WAS/WC servers depending on the saturation levels under peak load.

Monitor with wsadmin.sh

wsadmin>$AdminTask listXSDomains
wxs71(cells/MyCoCell|catalogservice.xml#EXtremeScaleDomain_1311281271752)

wsadmin>$AdminTask getDefaultXSDomain
wxs71

wsadmin>$AdminTask testXSServerConnection {-host qa4e.myco.com -listenerPort 2809 }
started


Tear down grid

WXS provides a method to shut down the grid called teardown, invoked from a catalog server, that shuts down containers.

If individual container JVMs are stopped the shards resident on the container are reallocated to the remaining containers, resulting in modification of the grid, and possible significant network overhead.

To take down all container JVMs

cd $WXS_HOME/ObjectGrid/bin
./xsadmin.sh -force -p 20110 -teardown

Connecting to Catalog service at localhost/internal/Clients/BigBox/:1099
Processing filter options for Server teardown

The following servers will be torn down:
  WC_Container02
  WC_Container03
  WC_Container01

Do we want to tear down the listed servers? (Y/N)
N
Server teardown cancelled by user

To take down all catalog JVMs on QT

./xsadmin.sh -p 20110 -teardown c1,c2

To take down all catalog JVMs on PR

./xsadmin.sh -p 20110 -teardown s1sa7wcat,s1sa7xcat

The catalog server can be stopped and the grid will still function. However, containers cannot be stopped or started without the corresponding catalog server being available.


Start WXS console

Use the WXS console to review statistics of the grid.

To start the console server process...

$ cd /opt/WXS71/ObjectGrid/bin
$ ./startConsoleServer.sh

rm: /opt/WXS71/ObjectGrid/console/.zero/private/resolved.properties: A file or directory in the path name does not exist.
CWPZT0600I: Command resolve was successful
[info]Creating new XS database using schema version: 1.0.0.2
[info]Parsing file ./sql/derby/create-1.0.0.2.sql...
[info]Finished executing file ./sql/derby/create-1.0.0.2.sql.
[info]Creating acl tables
[info]Parsing file /opt/WXS71/ObjectGrid/console/private/expanded/ibm/rainmaker.acl-1.0.0.2/sql/derby/create-1.0.0.0.sql...
[info]Finished executing file /opt/WXS71/ObjectGrid/console/private/expanded/ibm/rainmaker.acl-1.0.0.2/sql/derby/create-1.0.0.0.sql.
BUG OUTPUT message file path: /opt/ibm/xsa/xsa.admin/app/messages
removing cache for user because of an event user-role-added
removing cache for user because of an event user-role-added
removing cache for user because of an event user-role-added
removing cache for user because of an event user-role-added
removing cache for user because of an event user-role-added
Application started and servicing requests at :7080/ https://localhost/internal/Clients/BigBox/:7443/
CWPZT0600I: Command start was successful

We can safely ignore the resolved.properties error message.

To access the console via a browser...

https://qa4e.myco.com:7443
https://qa5e.myco.com:7443
https://host1.myco.com:7443
https://host2.myco.com:7443

Default login is admin/admin


Install WXS console

  1. Determine if a 32-bit version of Java is installed...

    $ lslpp -l | grep Java
      Java5.sdk                5.0.0.345  COMMITTED  Java SDK 32-bit
      Java5_64.sdk             5.0.0.345  COMMITTED  Java SDK 64-bit
      Java6.sdk                6.0.0.215  COMMITTED  Java SDK 32-bit
                                                     Java GUI & WEB Client
      Java5.sdk                5.0.0.345  COMMITTED  Java SDK 32-bit
      Java5_64.sdk             5.0.0.345  COMMITTED  Java SDK 64-bit
      Java6.sdk                6.0.0.215  COMMITTED  Java SDK 32-bit
    

    If so, it should be here...

    $ /usr/java6/bin/java -version
    java version "1.6.0"
    Java(TM) SE Runtime Environment (build pap3260sr8fp1-20100624_01(SR8 FP1))
    IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 AIX ppc-32 jvmap3260sr8ifx-20100609_59383 (JIT enabled, AOT enabled)
    J9VM - 20100609_059383
    JIT  - r9_20100401_15339ifx2
    GC   - 20100308_AA)
    JCL  - 20100624_01
    

  2. If you need to install...

    • Download 32-bit IBM java for AIX

    • Install Java 32-bit on all catalog server hosts...

      mkdir -p /tmp/java_home
      cd /tmp/java_home
      cp Java* .
      tar -xvpf Java*.tar

      ...or...

      gunzip -c Java*.tar.gz | tar -xvpf -
      inutoc .
      smitty installp

  3. On the catalog server hosts, edit files...

    /opt/WXS71/ObjectGrid/bin/startConsoleServer.sh
    /opt/WXS71/ObjectGrid/bin/stopConsoleServer.sh

    ...and set...

    #JAVA_HOME=${OBJECTGRID_HOME}/../java
    JAVA_HOME=/usr/java6

  4. Start the server...

    cd /opt/WXS71/ObjectGrid/bin
    $ ./startConsoleServer.sh
    [info]Creating new XS database using schema version: 1.0.0.2
    [info]Parsing file ./sql/derby/create-1.0.0.2.sql...
    [info]Finished executing file ./sql/derby/create-1.0.0.2.sql.
    [info]Creating acl tables
    [info]Parsing file /opt/WXS71/ObjectGrid/console/private/expanded/ibm/rainmaker.acl-1.0.0.2/sql/derby/create-1.0.0.0.sql...
    [info]Finished executing file /opt/WXS71/ObjectGrid/console/private/expanded/ibm/rainmaker.acl-1.0.0.2/sql/derby/create-1.0.0.0.sql.
    BUG OUTPUT message file path: /opt/ibm/xsa/xsa.admin/app/messages
    Application started and servicing requests at http://qa4e:7080/
    CWPZT0600I: Command start was successful


Install WXS client on app and dmgr nodes

Below are steps for WXS client installation on commerce dmgr and app nodes. See also: WXS7Install.sh

  1. Review: Install WXS or WXS client with WAS

  2. Logon to appserver as user wasadmin

  3. Stop WAS processes

    cd $WC_PROFILE/bin
    ./stopManager.sh dmgr
    ./stopServer.sh WC_MyCo
    ./stopNode.sh

  4. Have MTE, user root, run...

    /usr/sbin/slibclean

  5. Create directories for install media

    mkdir /opt/install/WXS
    cd /opt/install/WXS
    rm -R /opt/WXS71/lost+found

  6. scp files

    cd /opt/install/WXS
    scp host1:/opt/install/WXS/7.0.0.19-WS-UPDI-AixPPC64.zip .
    scp host1:/opt/install/WXS/WXS_CZJ7EML.zip .

  7. Unpack install media

    unzip WXS_CZJ7EML.zip
    cd WXS_CZJ7EML
    chmod -R 777 *

  8. scp wxs.MyCo.response host:/opt/install/WXS/WXS_CZJ7EML/

  9. Install WXS

    cd /opt/install/WXS/WXS_CZJ7EML/WXS
    ./install.aix.ppc64

  10. Verify installation complete...

    cat /opt/WAS70/AppServer/properties/version/WXS.product
    cat /opt/WAS70/AppServer/logs/wxs/install/log.txt

  11. Install 7.1.0.3 fixpack using the WAS update installer

    cd /opt/WAS70/AppServer/UpdateInstaller
    cp /opt/install/WXS/7.1.0.3-WS-WXS-Client-FP0000003.pak maintenance
    cp /opt/install/WXS/7.1.0.3-WS-WXS-IFPM44396.pak maintenance
    ./update.sh

  12. Verify fixpack installation

    cat $WAS_HOME/properties/version/WXS.product

    To uninstall a fixpack...

    cd /opt/WAS70/AppServer/UpdateInstaller
    ./update.sh -W update.type="uninstall"

    For example...

    ./update.sh -W -W backup.package="7.1.0.3-WS-WXS-FP0000003.pak" update.type="uninstall"

  13. Restart WAS processes

    cd $WC_PROFILE/bin
    ./syncNode.sh qp7j.myco.com 8879
    ./startNode.sh
    ./startManager.sh
    ./startServer.sh WC_MyCo

  14. Verify augmentation

    grep baseCache $WC_PROFILE/logs/WC_MyCo/SystemOut.log

  15. Set up JAR file

    mv $WAS_HOME/lib/xsadmindynacachexc10.jar $WAS_HOME/lib/xsadmindynacachexc10.jar2


Integrate WXS with WAS

  1. Set custom properties by going to...

    Java and Process Management | Process definition | Java Virtual Machine | Custom properties

    ...and adding...

    com.ibm.websphere.xs.dynacache.grid_name DYNACACHE_REMOTE_MyCo_QT
    com.ibm.ws.cache.CacheConfig.enableCacheReplication true
    com.ibm.websphere.xs.dynacache.topology remote
    com.ibm.websphere.xs.dynacache.enable_compression true
    com.ibm.websphere.xs.dynacache.ignore_value_in_change_event true
    com.ibm.websphere.xs.dynacache.disable_recursive_invalidate true

    To set...

    for i in `cat sqplive.out`
    do
        ssh -f $i /home/wasadmin/vreports/bin/setJavaVirtualMachine.sh
    done
    

    setJavaVirtualMachine.sh calls JavaVirtualMachine.jacl

    To generate reports, log on to control node as user wasadmin and run...

    cd $REPORTS
    for i in `cat sapp_qplive.out`
    do
        echo $i
        ssh -f ${i} /home/wasadmin/vreports/bin/jvm.sh; sleep 10
        fi
    done
    for i in `cat sapp_qplive.out`
    do
        x=y
        scp ${i}:/home/wasadmin/vreports/${i}_jvm.html .
    done
    ./wxssummary.sh
    

    Output is written to WXSSummary.html

  2. Set Core Group protocols...

    Servers | Core Groups | Core group setting | DefaultCoregroup | Additional Properties | Custom properties

    ...and set...

    IBM_CS_WIRE_FORMAT_VERSION 6.1.0
    IBM_CS_HAM_PROTOCOL_VERSION 6.0.2.31

  3. Create a new catalog service domain

    System Administration | WebSphere eXtreme Scale | Catalog Service Domains | New

    For QA Live

    Name: Catalog_MyCo_QA

    Under Catalog Servers specify something like...

    Catalog Server Endpoint Listener port JMX port
    qa4e.myco.com 2809 20110
    qa5e.myco.com 2809 20110

    For QT Delivery

    Name: wxsqp71

    Under Catalog Servers specify something like...

    Catalog Server Endpoint Listener port JMX port
    qa7k.myco.com 2809 20110
    host2.myco.com 2809 20110

  4. Edit...

    $WAS_HOME/java/jre/lib/orb.properties

    ...and set...

    # eXtreme Scale tuning
    com.ibm.CORBA.ConnectionMultiplicity=1
    com.ibm.CORBA.MinOpenConnections=1024
    com.ibm.CORBA.MaxOpenConnections=1024
    com.ibm.CORBA.ServersSocketQueueDepth=1024
    com.ibm.CORBA.FragmentSize=0

    We cannot have servers in a WAS environment with the same name when the servers are using the ORB to communicate with each other. To get around this restriction, we set...

    -Dcom.ibm.websphere.orb.uniqueServerName=true

    After setting, cycle WebSphere Commerce Server application.

  5. From the WAS Admin Console, go to...

    Servers | Server Types | WebSphere application servers | WC_MyCo | Container Services | Dynamic cache service

    ...and from the drop down select "WebSphere eXtreme Scale"

    Check...

    Enable cache replication

    ...and set cache size to 15000

  6. Restart appserver

  7. On appserver hosts, verify WXS successfully augmented
    $ cd $WAS70/AppServer/bin
    $ ./manageprofiles.sh -profileName MyCo -listAugments
    Registered Augment Templates
            $WAS_HOME/profileTemplates/dmgr
            $WAS_HOME/profileTemplates/xs_augment/dmgr
    

  8. Verify that Dynacache started with WXS, after node startup

    $ cd $WC_PROFILE/logs/WC_MyCo
    $ grep "eXtreme Scale Dynamic Cache" SystemOut*.log
    [8/1/11 15:14:01:669 EDT] 00000001 CacheProvider I CWOBJ4500I: WebSphere eXtreme Scale Dynamic Cache provider is successfully initialized.

    IBM has informed us that we can safely ignore the error message:

    00000000 CacheProvider E DYNA1064E: The operation "enableDiskOffload" for cacheName "baseCache" cannot be performed because cache provider "com.ibm.ws.objectgrid.dynacache.CacheProviderImpl" does not support the disk cache offload feature.

  9. Install APAR 7.0.0.0-WS-WASJavaSDK-AixPPC64-IFPM51501.pak and APAR 7.1.0.3-WS-WXS-IFPM51859.pak

  10. Install Extended Cache Monitor (ECM)

  11. We want to access ECM with browser requests that attach directly to each appserver, bypassing the web servers. To validate firewalls allow access through desired port, from your PC, confirm we can run...

    telnet host.foo.com 80

  12. To display dependency ID and template information for cached entries, set the WAS trace string...

    com.ibm.ws.objectgrid.dynacache.entries.CacheEntryImpl=finest

  13. On catalog server host1, create the wxsdetails.sh script and run every 15 minutes in a cron job.


cleantemp.sh

For debugging and testing, it can be useful to clear temp directories...

# cleantemp.sh
#
# Useful for fixing exception: DYNA1066E
#

cd /opt/WAS70/AppServer/profiles/MyCo/bin

./stopServer.sh WC_MyCo -username wcs7infra -password foobar
./stopNode.sh -username wcs7infra -password foobar

rm -rf ../wstemp
rm -rf ../temp
rm -rf ../tranlog
rm -rf ../config/temp

mkdir ../wstemp
mkdir ../temp
mkdir ../tranlog
mkdir ../config/temp

./syncNode.sh qp7j 8879 -username wcs7infra -password foobar
./startNode.sh
./startServer.sh WC_MyCo