2013-09-30

在 windows 裡架起 Cassandra

install Cassandra in windows system

在 windows 系統上,加起 cassandra,實作起來不難,簡單步驟為:
(1) 安裝 java (JRI)
(2) 下載 cassandra tar, 並解開。
(3) 設定新增兩個系統環境變數: JAVA_HOME , CASSANDRA_HOME
(4) 修改 cassandra 設定檔 cassandra.yaml , 設好 cassandra 目錄所在。
(5) 啟動 cassanda,完成。




說明步驟如下:

1. 由於 Cassandra 是 java based, 所以首先要安裝 java (JRE):
     如: 在 64 位元機器上,下載  jre-7u21-windows-x64.exe

2. 下載 Cassandra 檔案(綠色,免安裝) : http://cassandra.apache.org/download/
     如: apache-cassandra-1.2.5-bin.tar

3. 解開 Cassandra tar,可以解壓縮到 D:\cassandra\cassandra

4. 設定環境變數。因為 cassandra bat 檔中,會使用環境變數來使用 java 以及 cassandra 之目錄所在。

    set two environment variables:
               System Properties -> Tab Advanced -> Environment Variables -> add system variables
    (1)  JAVA_HOME=c:\Program Files\Java\jre7
             (不到設到 bin 路徑)
   (2)  CASSANDRA_HOME=d:\cassandra\cassandra
 
    ps: 如果要用 command prompt 來看(set) 有無設定成功的話,必須在設完系統環境變數後,重開一個 command prompt,再下 set 來確定。

5. 修改 cassandra config 檔案:  d:\cassandra\cassandra\conf\cassandra.yaml

     (1) cassandra 資料目錄:

          data_file_directories:
              - d:\cassandra\data

     (2) cassandra commit log 目錄: (在優化上,有建議 commit log 目錄可以放在別顆 HD 上,以加快速度。)
         # commit log
         commitlog_directory: d:\cassandra\commitlog

     (3)
         # saved caches
         saved_caches_directory: c:\cassandra\saved_caches
         #  /var/lib/cassandra/saved_caches

6. 啟動 Cassandra:
     在 command prompt 中,
       d:\cassandra\cassandra\bin> cassandra.bat
 
     如此就可以看到 cassandra 開始跑起來了。
     如果 cassandra 有問題,在這個視窗中也可以看到錯誤訊息。

     optional: 如果想要以 windows service 的方式來啟動 cassandra 的話,可以使用 prunsrv.exe: (也可再去詳查語法)
          d:\cassandra\cassandra\bin\daemon\prunsrv.exe //RS//cassandra
      要注意的是,prunsrv.exe 有分 32 位元與 64 位元。
      後來,我捨棄了 windows service 的方式,直仍直接用 command prompt 的方式來執行,原因有二:
      (1) 我無法經由系統服務的功能來正常停止 這個 cassandra 服務。
      (2) 當 cassandra 有錯時,不能直接看到錯誤訊息。

7. 也有 cassandra client 可以直接執行:
     d:\cassandra\cassandra\bin> cassandra-cli.bat

     一些常用的 cli 語法: help, use Keyspace, show schema, list columnfamily1, get columnfamily1[col1], set ....


另外,還有幾個部份可以再研究:
1. 細部效能調校
2. 多台組成 1 個 ring, 設定多個 replication。


0 意見:

張貼留言