cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Cassandra Wiki] Update of "GettingStarted" by JonathanEllis
Date Fri, 26 Jun 2009 18:01:39 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.

The following page has been changed by JonathanEllis:

  === Release candidates ===
- The 0.3 release candidate is here:
+ The 0.3 release candidate is here:
  This is not an official release, and will undergo multiple bugfixes before it becomes an
official release.
  ==== Nightly builds ====
@@ -31, +31 @@

   1. edit `conf/storage-conf.xml` to your satisfaction.  By default it will run on localhost
and use `/var/cassandra` for data and logs (so create that directory and chown it appropriately
if you want to keep things there). If you use a different log and data directory you'll probably
also want to edit the log4j log location in conf/
   1. `bin/cassandra` to start (`-f` to start in foreground.)
-  1. Go to http://localhost:7002 with your web browser.  If cassandra is running you will
get a (very rudimentary) admin console page.  
+  1. `bin/cassandra-cli --host localhost --port 9160` to connect with the command-line client;
try setting and getting data to make sure things are working:
+ {{{
+   Connected to localhost/9160
+   Welcome to cassandra CLI.
+   Type 'help' or '?' for help. Type 'quit' or 'exit' to quit.
+   cassandra> set Table1.Standard1['jsmith']['first'] = 'John'
+   Statement processed.
+   cassandra> set Table1.Standard1['jsmith']['last'] = 'Smith' 
+   Statement processed.
+   cassandra> get Table1.Standard1['jsmith']
+   COLUMN_TIMESTAMP = 1241129537336; COLUMN_VALUE = Smith; COLUMN_KEY = last; 
+   COLUMN_TIMESTAMP = 1241129520503; COLUMN_VALUE = John; COLUMN_KEY = first; 
+ }}}
  === Running on multiple nodes ===
+  1. Edit `conf/storage-conf.xml`: 
-  1. Edit `conf/storage-conf.xml` and add at least one of your node's public name or IP to
the seed section.
+    1. add at least one of your node's public name or IP to the seed section.
+    1. set ListenAddress to something all the nodes can resolve.  Setting it to empty will
always do the Right Thing *if* the node is properly configured (hostname, name resolution,
etc), and the Right Thing is to use the address associated with the hostname.  Otherwise,
set a public IP address here.
+  1. use `bin/nodeprobe -host X ring` where X is each machine in your cluster to make sure
all the nodes see each other
-  1. Make sure you are using hostnames that all the nodes can resolve.  Each node logs what
it is using with a line like "DEBUG - Starting to listen on jbe-ubuntu:7001".  If Cassandra
picks the wrong name then the easiest solution is to add that name to `/etc/hosts` for your
cluster machines.
-  1. Again, you can check http://localhost:7002 on each machine to make sure all the nodes
see each other.
-  1. If you are having trouble getting your nodes to see each other, Cassandra may be guessing
the wrong interface to listen on.  Explicitly setting the ListenAddress setting in conf/storage-conf.xml
should fix this.
-  1. The insert/retrieve interface on the web admin is for ''local'' inserts and lookups.
 So if you do an insert via thrift and then can't read it via the web, it's probably because
it's actually on another node.  Prefer the commandline interface to the web admin for ad hoc
inserts and queries.
  === Next steps: ===
+  1. DataModel explains the Cassandra ColumnFamily data model
   1. You may want to edit `conf/`.  by default, even in background mode it
will log some things to stdout as it starts up.  you can take out the stdout appender if this
bugs you, and/or turn the default level from DEBUG down to INFO.
-  1. DataModel explains the Cassandra ColumnFamily data model
   1. CassandraCli describes a simple Command-Line Interface to store and retrieve data.
   1. ThriftInterface gives examples for accessing and modifying data.  If you are writing
a Java client, Cassandra comes with libthrift.jar and the Thrift client classes you will need.
 Otherwise you will need to InstallThrift and generate the client code for your language of
choice.  (Thrift supports many languages, including C++, C#, Erlang, Haskell, Java, Objective
C, OCaml, Perl, PHP, Python, Ruby, and Squeak.)
+  1. RunningCassandra explains how to start Cassandra with non-standard options
   1. ClientExamples gives client examples

View raw message