Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1.  The following administrator permissions are required:

    Code Block
    $sudo apt-get install ntpdate; 
    
    $ntpdate pool.ntp.org
  2. You need to allocate enough memory for the MB server. By default, it is set to 1 GB in the <MB_HOME>/bin/wso2server.sh file (for Windows, it is the wso2server.bat file)

    Code Block
    -Xms256m -Xmx1024m -XX:MaxPermSize=256m

    Generally, at least 2 GB memory is recommended for production instances.

  3. If you want to deploy WSO2 MB as a cluster, enable clustering editing in the <MB_HOME>/repository/conf/advanced/qpidandes-config.xml file as follows:

    Code Block
    <clustering>
           <enabled>true</enabled>
  4. Even if the Apache Cassandra server is shipped embedded into WSO2 MB, it is always recommended to run Apache Cassanda as a separate server instance and point WSO2 MB to that external instance.

    To point WSO2 MB to an externally running Cassandra server, the following configs are used:

    1. Edit the <MB_HOME>/repository/conf/advanced/qpidandes-config.xml file as follows:

      Code Block
      <clustering>
      <externalCassandraServerRequired>true</externalCassandraServerRequired>
    2. Edit the <MB_HOME>/repository/conf/advanced/qpidandes-virtualhosts.xml file. You have to edit the section relevant to the virualhost that you are using. By default, this virtualhost is carbon. So we edit the <store> section under that virtualhost. Use the correct username and password to connect to the Cassandra server.

      For example, if your cassandra server is running with an IP of 192.168.10.3 and the user name and password is admin/admin, then the virtual host configuration should be as follows:

      Code Block
      <store>
                     <class>org.wso2.andes.server.store.CassandraMessageStore</class>
                     <username>admin</username>
                     <password>admin</password>
                     <cluster>ClusterOne</cluster>
                     <idGenerator>org.wso2.andes.server.cluster.coordination.TimeStampBasedMessageIdGenerator</idGenerator>
                     <connectionString>192.168.10.3:9160</connectionString>
  5. Even if WSO2 MB is packed including the Apache Zookeeper server, if you are deploying the product as a cluster it is recommended to use an external Zookeeper server. The relevant configurations are as follows:
    1. In the qpidandes-config.xml file

      Code Block
      <externalZookeeperServerRequired>true</externalZookeeperServerRequired>
             <coordination>
                 <!-- Apache Zookeeper Address -->
                 <ZooKeeperConnection>127.0.0.1:2181</ZooKeeperConnection>
                  <!-- Format yyyy-MM-dd HH:mm:ss -->
                 <ReferenceTime>2012-02-29 08:08:08</ReferenceTime>
             </coordination>
    2. There are SASL security configurations needed in order to communicate with the server. For more information, see Setting up Zookeeper Server to Accept SASL Connections.
    Most of the performance related tuning for WSO2 MB resides in the qpidandes-config.xml under <tuning>. We will look at the most critical configurations.