/CassandraDemo

Cassandra Demo

Primary LanguageJava

The client_only example uses the fat client to insert data into and read
data from Cassandra.

-- Warning --
The method used in this example (the fat client) should generally
not be used instead of the thrift interface because of possible
instability of the internal Cassandra API.

-- Prerequisite --
Build the Cassandra source in the current source tree. Also, if
running the client_only code against a local Cassandra node, start
the local node prior to running the client_only script. See the
configuration below for more info.

-- Build --
To build, run ant from the contrib/client_only directory. It will build
the source, then jar up the compiled class, the conf/cassandra.yaml, and
dependencies into build/client_only.jar.

-- Run --
To run, from the contrib/client_only directory run:
bin/client_only write
or
bin/client_only read

'write' will create keyspace Keyspace1 and column family Standard1. If
it is already there, it will error out. It will then write a bunch of
data to the cluster it connects to.

'read' will read the data that was written in the write step.

-- Configuration --
The conf/cassandra.yaml is to start up the fat client. The fat client
joins the gossip network but does not participate in storage. It
needs to have the same configuration as the rest of the cluster except
listen address and rpc address. If you are running your cluster just
on your local machine, you'll need to use another address for this node.
Therefore, your local full Cassandra node can be 127.0.0.1 and the fat 
client can be 127.0.0.2. Such aliasing is enabled by default on linux.
On Mac OS X, use the following command to use the second IP address:
sudo ifconfig lo0 alias 127.0.0.2 up

cassandra.yaml can be on the classpath as is done here, can be specified
(by modifying the script) in a location within the classpath like this:
java -Xmx1G -Dcassandra.config=/path/in/classpath/to/cassandra.yaml ...
or can be retrieved from a location outside the classpath like this:
... -Dcassandra.config=file:///path/to/cassandra.yaml ...
or
... -Dcassandra.config=http://awesomesauce.com/cassandra.yaml ...