mirror of https://github.com/apache/cassandra
add cli wrapper and Getting Started section to readme. patch by johano and Eric Evans; reviewed by jbellis for CASSANDRA-117
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@770737 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
22525a8e12
commit
f45bf41259
86
README.txt
86
README.txt
|
@ -1,9 +1,95 @@
|
|||
Cassandra is a highly scalable, eventually consistent, distributed, structured
|
||||
key-value store.
|
||||
|
||||
|
||||
Project description
|
||||
-------------------
|
||||
|
||||
Cassandra brings together the distributed systems technologies from Dynamo
|
||||
and the data model from Google's BigTable. Like Dynamo, Cassandra is
|
||||
eventually consistent. Like BigTable, Cassandra provides a ColumnFamily-based
|
||||
data model richer than typical key/value systems.
|
||||
|
||||
For more information see http://incubator.apache.org/cassandra
|
||||
|
||||
|
||||
Getting started
|
||||
---------------
|
||||
|
||||
This short guide will walk you through getting a basic one node cluster up
|
||||
and running, and demonstrate some simple reads and writes.
|
||||
|
||||
* tar -zxvf cassandra-$VERSION.tgz
|
||||
* cd cassandra-$VERSION
|
||||
* sudo mkdir -p /var/cassandra/logs
|
||||
* sudo chown `whoami` -R /var/cassandra
|
||||
|
||||
Note: The sample configuration files in conf/ determine the file-system
|
||||
locations Cassandra uses for logging and data storage. You are free to
|
||||
change these to suit your own environment and adjust the path names
|
||||
used here accordingly.
|
||||
|
||||
Now that we're ready, let's start it up!
|
||||
|
||||
* bin/cassandra -f
|
||||
|
||||
Running the startup script with the -f argument will cause Cassandra to
|
||||
remain in the foreground and log to standard out.
|
||||
|
||||
Now let's try to read and write some data using the command line client.
|
||||
|
||||
* bin/cassandra-cli --host localhost --port 9160
|
||||
|
||||
The command line client is interactive so if everything worked you should
|
||||
be sitting in front of a prompt...
|
||||
|
||||
Connected to localhost/9160
|
||||
Welcome to cassandra CLI.
|
||||
|
||||
Type 'help' or '?' for help. Type 'quit' or 'exit' to quit.
|
||||
cassandra>
|
||||
|
||||
As the banner says, you can use 'help' or '?' to see what the CLI has to
|
||||
offer, and 'quit' or 'exit' when you've had enough fun. But lets try
|
||||
something slightly more interesting...
|
||||
|
||||
cassandra> set Table1.Standard1['jsmith']['first'] = 'John'
|
||||
Statement processed.
|
||||
cassandra> set Table1.Standard1['jsmith']['last'] = 'Smith'
|
||||
Statement processed.
|
||||
cassandra> set Table1.Standard1['jsmith']['age'] = '42'
|
||||
Statement processed.
|
||||
cassandra> get Table1.Standard1['jsmith']
|
||||
COLUMN_TIMESTAMP = 1241129773658; COLUMN_VALUE = 42; COLUMN_KEY = age;
|
||||
COLUMN_TIMESTAMP = 1241129537336; COLUMN_VALUE = Smith; COLUMN_KEY = last;
|
||||
COLUMN_TIMESTAMP = 1241129520503; COLUMN_VALUE = John; COLUMN_KEY = first;
|
||||
Statement processed.
|
||||
cassandra>
|
||||
|
||||
If your session looks similar to what's above, congrats, your single node
|
||||
cluster is operational! But what exactly was all of that? Let's break it
|
||||
down into pieces and see.
|
||||
|
||||
set Table1.Standard1['jsmith']['first'] = 'John'
|
||||
\ \ \ \ \
|
||||
\ \ \_ key \ \_ value
|
||||
\ \ \_ column
|
||||
\_ table \_ column family
|
||||
|
||||
Data stored in Cassandra is associated with a column family (Standard1),
|
||||
which in turn is associated with a table (Table1). In the example above,
|
||||
we set the value 'John' in the 'first' column for key 'jsmith'.
|
||||
|
||||
For more information on the Cassandra data model be sure to checkout
|
||||
http://cwiki.apache.org/confluence/display/CSDR/Data+Model
|
||||
|
||||
Wondering where to go from here?
|
||||
|
||||
* The wiki (http://cwiki.apache.org/confluence/display/CSDR) is the
|
||||
best source for additional information.
|
||||
* Join us in #cassandra on irc.freenode.net and ask questions.
|
||||
* Subscribe to the Users mailing list by sending a mail to
|
||||
cassandra-user-subscribe@incubator.apache.org
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
#!/bin/sh
|
||||
|
||||
classpath()
|
||||
{
|
||||
cassandra_home=`dirname $0`/..
|
||||
classp=$cassandra_home/build/classes
|
||||
|
||||
for j in $cassandra_home/lib/*.jar; do
|
||||
classp=$classp:$j
|
||||
done
|
||||
|
||||
printf $classp
|
||||
}
|
||||
|
||||
if [ -z $CLASSPATH ]; then
|
||||
jvmargs="-cp `classpath`"
|
||||
fi
|
||||
|
||||
java $jvmargs org.apache.cassandra.cli.CliMain "$@"
|
||||
|
||||
# vi:ai sw=4 ts=4 tw=0 et
|
Loading…
Reference in New Issue