Wednesday, December 22, 2010

[nosql] Cassandra Running a single node @Windows

懶得解釋Cassandra是啥了,Google比較快,因為我要解釋也是看google XD,直接進入正題。

Cassandra 官網 http://cassandra.apache.org/
下載頁面 http://cassandra.apache.org/download/

系統需求 : Java 1.6以上,如果是jvm需要是u19以上,最好是u21以上版本



Cassandra可以安裝在很多系統上,這次我是裝在windows上,安裝相當簡單,只要把抓下來的壓縮檔找個地方放就好XD

要注意的是,Cassandra裝在windows上要設兩個系統變數:
JAVA_HOME : 一般預設是 C:\Program Files\Java\jre6
CASSANDRA_HOME : 看你解壓縮到在那就寫那,我是填 C:\apache-cassandra-0.6.8\
cassandra_01



然後Cassandra就會動啦XD,到Cassandra的bin下面執行cassandra.bat就會啟動了,狀況大概長得像這樣。
C:\apache-cassandra-0.6.8\bin>cassandra.bat
Starting Cassandra Server
10/12/22 18:10:07 INFO utils.CLibrary: JNA not found. Native methods will be dis
abled.
...中略...
INFO 18:10:08,953 Completed flushing C:\var\lib\cassandra\data\system\LocationI
nfo-1-Data.db (360 bytes)
INFO 18:10:09,031 Starting up server gossip
INFO 18:10:09,171 Binding thrift service to localhost/127.0.0.1:9160
INFO 18:10:09,203 Cassandra starting up...

在windows上Cassandra好像不會背景執行,所以就丟著他不管吧,另開一個畫面來作業。


要確認Cassandra有沒有在跑,可以用nodetool.bat這個指令去確認。
cassandra_02



因為是跑 single node,所以啥東西都不用設,直接拿預設的 keyspace 來玩,Cassandra 有提供一個叫 Cassandra CLI 的東西可以讓人直接下指令,執行 cassadnra-cli.bat 就會跑了。我們就拿這來試一下,Cassandra CLI 常用的指令有 set get show count,這次先拿set跟get來示範,還有 quit/exit是離開 Cassandra CLI,簡單易懂,你也可以用 help 去查可用的指令,記得執行 cassandra-cli.bat 時要加 --host 指定 cassandra node 的位置,不然不會動的。
cassandra_03



set的語法大概長的像下面這樣,keyspace 與 column 都是 Cassandra 預先設好的,要仔細研究的話可以到 conf\storage-conf.xml 這檔案裡面看詳細設定。

set Keyspace1.Standard1['died']['blog'] = 'http://www.died.tw'
       \            \         \        \          \
        \            \         \_ key   \          \_ value
         \            \                  \_ column
          \_ keyspace  \_ column family



就照著上面的語法來加幾筆資料進去,然後用get把資料拉出來看,結果發現column顯示怪怪的,查了一下發現是 Standard1 這個 column family 的 CompareWith 設為 BytesType,所以值插進去轉換後就看不懂啦,還好 Standard2 設的是 UTF8Type,所以就改存到這邊去。

另外,要記得下指令時大小寫要注意,不然不會過的。
cassandra_04



重來一次,把資料加到 Standard2 去,然後使用 get 取出,這次的 column 名稱終於看得懂了,收工。
cassandra_05


簡單記錄一下Cassandra這好玩的東西安裝與基本指令,進階的之後再補上。

No comments:

Post a Comment