Platinum Partner
news,architects,nosql,architecture,apache,cassandra

WS02 MB with External Cassandra

Here are steps to follow for achieving the task

[1] Download cassandra from http://cassandra.apache.org/

[2] Unzip "apache-cassandra-1.2.0-bin.tar.gz" in "C:/" drive

[3] Cassandra configuration files can be found in <CARBON_HOME>/repository/conf/etc

[4] Edit \<apache-cassandra-dir>\confcassandra.yaml

Ensure that the paths exist for
data_file_directories
commitlog_directory
saved_caches_directory
 
Verify storage_port and rpc_port do not conflict on your PC. (By default, Cassandra uses 7000 for storage_port and 9160 for rpc_port)
The storage_port must be identical between Cassandra nodes in a cluster (Cassandra client applications use rpc_port to connect to Cassandra)

*Things on recommended to do.
Change the default cluster_name to avoid conflicts with existing clusters.
initial_token can be left blank, but setting to 0 is recommended if you are configuring your first node.

[5] Set Memory Capacity for Cassandra

image

By default, Cassandra allocates memory based on the physical memory capacity of your system. From editting "<apache-cassandra-dir>\conf\cassandra-env.sh" we can set the memory capacity for cassandra

Search for
#MAX_HEAP_SIZE="4G"
#HEAP_NEWSIZE="800M"

Currently we going to Cassandra test we run on smaller footprint for test drive, (Uncomment those lines)

MAX_HEAP_SIZE="128M"
HEAP_NEWSIZE="32M"

[6] Start cassandra from <apache-cassandra-Dir>\bin>cassandra.bat

image

Now Work on WSO2 MB

[7] Edit "<wso2mb-Dir>\repository\conf\advancedqpid-config.xml"

Uncomment "externalCassandraServerRequired" and make it "true"
<clustering>


        <enabled>false</enabled>
      
            <OnceInOrderSupportEnabled>false</OnceInOrderSupportEnabled>
                <externalCassandraServerRequired>true</externalCassandraServerRequired>

[8] Point WSO2 MB To Cassandra by editting $CARBON_HOME/repository/conf/advanced/qpid-virtualhosts.xml file to point to Cassandra server setup.
<virtualhost>
        <name>carbon</name>
        <carbon>
           <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>localhost:9160</connectionString>
            </store>
...
9] Start WSO2 MB \<wso2mb-dir>\bin>wso2server.bat

[10] You can see some logs in Cassandra console.

image

Published at DZone with permission of {{ articles[0].authors[0].realName }}, DZone MVB. (source)

Opinions expressed by DZone contributors are their own.

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}