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
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
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.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)





