一、Casscanra介紹
Apache Cassandra 是一套開源分散式 NoSQL 資料庫系統。它最初由 Facebook 開發,用於儲存收件匣等簡單格式資料,集 Google BigTable 的資料模型與 Amazon Dynamo 的完全分散式的架構於一身。 Facebook 於2008將Cassandra開源,此後,由於Cassandra良好的 可擴放性 ,被 Digg 、 Twitter 等知名 Web_2.0 網站所採納,成為了一種流行的分散式結構化資料存放區方案。
Cassandra 突出特點:
- 模式靈活:使用Cassandra,像文檔儲存,你不必提前解決記錄中的欄位。你可以在系統運行時隨意的添加或移除欄位。這是一個驚人的效率提升,特別是在大型部署上。
- 真正的可擴充性:Cassandra是純粹意義上的水平擴充。為給叢集添加更多容量,可以指向另一台電腦。你不必重啟任何進程,改變應用查詢,或手動遷移任何資料。
- 多資料中心識別:你可以調整你的節點布局來避免某一個資料中心起火,一個備用的資料中心將至少有每條記錄的完全複製。
一些使Cassandra提高競爭力的其他功能:
- 範圍查詢:如果你不喜歡全部的索引值查詢,則可以設定鍵的範圍來查詢。
- 列表資料結構:在混合模式可以將超級列添加到5維。對於每個使用者的索引,這是非常方便的。
- 分散式寫操作:有可以在任何地方任何時間集中讀或寫任何資料。並且不會有任何單點失敗。
二、安裝布署
1、準備
http://cassandra.apache.org/download/ ,最新版本是0.6.1,直接在官網就能下載。
如果提示:"The JAVA_HOME environment variable must be set to run this program",
則安裝Sun Jdk-6,然後添加環境變數即可
JAVA_HOME=D:\Program Files\Java\jdk1.6.0
2、修改設定檔,在conf下找到log4j.properties,把log4j.appender.R.File修改成你存放cassandra的目錄,
log4j.appender.R.File=D:\WebServer\cassandra\Log
3、添加環境變數
CASSANDRA_HOME=D:\WebServer\cassandra
4、storage-conf.xml設定檔修改,也在conf檔案下,修改下面幾個節點到自己的目錄:
<CommitLogDirectory>D:/WebServer/cassandra/commitlog</CommitLogDirectory>
<DataFileDirectories>
<DataFileDirectory>D:/WebServer/cassandra/data</DataFileDirectory>
</DataFileDirectories>
5、修改cassandra.bat檔案,在bin目錄下,在SETLOCAL一行後面增加一行指定本地目錄:
Set CD=D:\WebServer\cassandra
運行cassandra.bat啟動,如果配置成功則提示如下:
Starting Cassandra Server
Listening for transport dt_socket at address: 8888
INFO 12:54:30,612 Auto DiskAccessMode determined to be standard
INFO 12:54:30,802 Sampling index for D:\WebServer\cassandra\data\system\LocationInfo-1-Data.db
INFO 12:54:30,817 Replaying D:\WebServer\cassandra\commitlog\CommitLog-1275022117089.log
INFO 12:54:30,842 Creating new commitlog segment D:/Software/WebServer/cassandra/commitlog\CommitLog-1275022470842.log
INFO 12:54:30,857 LocationInfo has reached its threshold; switching in a fresh Memtable at CommitLogContext(file='D:/Software/WebServer/cassandra/commitlog\CommitLog-
1275022470842.log', position=121)
INFO 12:54:30,857 Enqueuing flush of Memtable(LocationInfo)@22572221
INFO 12:54:30,857 Writing Memtable(LocationInfo)@22572221
INFO 12:54:30,972 Completed flushing D:\WebServer\cassandra\data\system\LocationInfo-2-Data.db
INFO 12:54:30,982 Log replay complete
INFO 12:54:31,022 Saved Token found: 58905827723352031130434533459013100020
INFO 12:54:31,022 Saved ClusterName found: Test Cluster
INFO 12:54:31,032 Starting up server gossip
INFO 12:54:31,072 Binding thrift service to localhost/127.0.0.1:9160
INFO 12:54:31,082 Cassandra starting up...