在Windows上运行单节点的Cassandra,
Cassandra可以安裝在很多系统上, 我是安装在windows server 2008 R2上,安装相当简单,只要把下载下来的压缩包解压缩放到一个目录下就可以了,这里主要是记录下使用体验:
Cassandra官网: http://cassandra.apache.org/,下载页面 http://cassandra.apache.org/download/
Cassandra用java开发的,要求安装JVM 1.6以上,推荐 Version 6 Update 23 到Java官网下载 http://www.java.com/zh_CN/download/manual.jsp#win,要注意的是,Cassandra在windows上安装要设置两个系统参数:
- JAVA_HOME : 一般是 C:\Program Files\Java\jre6
- CASSANDRA_HOME : 看你解压缩到那个位置就写那个,我的是D:\apache-cassandra-0.7.0-rc4\
到Cassandra的bin下面运行cassandra.bat就会启动了,大概是这个样子:
set的语法大概长的像下面这样:
01.set Keyspace1.Standard1['geffzhang']['blog'] = 'http://www.dotnetting.cn'
02. \ \ \ \ \
03. \ \ \_ key \ \_ value
04. \ \ \_ column
05. \_ keyspace \_ column family
就按照上面的语法来加几个数据进去,然后用get把数据拉出来看看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Apache.Cassandra;
using Thrift.Transport;
using Thrift.Protocol;
namespace Cassandra_Console
{
class Program
{
static void Main(string[] args)
{
TTransport frameTransport = new TFramedTransport(new TSocket("localhost", 9160));
TProtocol protocol = new TBinaryProtocol(transport);
TProtocol frameProtocol = new TBinaryProtocol(frameTransport);
Cassandra.Client client = new Cassandra.Client(frameProtocol, frameProtocol);
frameTransport.Open();
Console.WriteLine("Opening connection");
//for 0.7.0 , need select keyspace at first
client.set_keyspace("Keyspace1");
Console.WriteLine("keyspace set to Keyspace1");
System.Text.Encoding utf8Encoding = System.Text.Encoding.UTF8;
long timeStamp = DateTime.Now.Millisecond;
ColumnPath nameColumnPath = new ColumnPath()
{
Column_family = "Standard2",
Column = utf8Encoding.GetBytes("name")
};
ColumnParent nameColumnParent = new ColumnParent()
{
Column_family = "Standard2"
};
Column nameColume = new Column()
{
Name = utf8Encoding.GetBytes("name"),
Value = utf8Encoding.GetBytes("Geff zhang"),
Timestamp=timeStamp
};
Console.WriteLine("Inserting name columns");
//insert data
client.insert(utf8Encoding.GetBytes("Geff"),
nameColumnParent,
nameColume,
ConsistencyLevel.ONE);
//using the key to get column 'name'
ColumnOrSuperColumn returnedColumn = client.get(utf8Encoding.GetBytes("Geff"), nameColumnPath, ConsistencyLevel.ONE);
Console.WriteLine("Column Data in Keyspace1/Standard1: name: {0}, value: {1}",
utf8Encoding.GetString(returnedColumn.Column.Name),
utf8Encoding.GetString(returnedColumn.Column.Value));
Console.WriteLine("Closing connection");
frameTransport.Close();
Console.ReadLine();
}
}
}
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。