追蹤
NEIL's_學而時習之x不學無術~私藏IT技術經驗分享部落
關於部落格
NEIL. Cheng....寫作只是為了日後工作之備忘操作參考

本部落格文章撰寫前進邁向第五年(since 2009 ~至今)仍繼續推進分享IT學習!!About Windows/Linux Server,Virtualization


分享網誌: 由於,本人預先完成LAB後,才補上撰寫文章與截圖,若發現文圖對照說明有誤..本人將盡快校正,也請不吝指教! Thanks!

  • 168105

    累積人氣

  • 35

    今日人氣

    0

    追蹤人氣

NoSQL: Cassandra 1.2.3 營運環境佈建測試_單機測試(一)by Neil

 


開始安裝Cassandra 1.2.3

本Lab Cassandra 測試安裝於/root 下之cassandra(已更名)目錄中

# 個人較建議新建帳戶並將Casssandra安裝其家目錄下

tar zxvf 
apache-cassandra-1.2.3.tar.gz    

mv  apache-cassandra-1.2.3  cassandra  

#提醒: 本Lab啟動Cassandra時將綁定hostname名稱"proxy"故本人於/etc/hosts 新增
 
              一筆紀錄 " 192.168.11.180  proxy "   














開始組態 Cassandra 設定

修改"日誌儲存"路徑

vi conf/
log4j-server.properties

log4j.appender.R.File=/root/cassandra/log/system.log   #本Lab設定路徑為此
 














修改"傳送日誌"(Commit Log)及Data 及saved_cached 資料儲存路徑

vi conf/cassandra.yaml      # 為cassandra主要設定檔此三個設定路徑可分別設置不同硬碟路徑增加

                         效率

 
data_file_directories:
    - /root/cassandra/data                          <=本Lab 資料儲存路徑
 
commitlog_directory: /root/cassandra/commitlog    <=Commit log 資訊儲存路徑

saved_caches_directory: /root/cassandra/saved_caches  <=暫存資料














修改listen: 主機 與 RPC 使Cassandra可支持 Remote 存取(預設只提供Localhost存取)

vi cassandra.yaml  修改如下

listen_address:  proxy     #前述提到/etc/hosts 已新增一筆proxy 對應到內網IP 紀錄
 













rpc_address: 0.0.0.0        #修改rpc_address 為  0.0.0.0
 
rpc_port: 9160                 # cassandra 預設使用9160 Port 可修改
















上述配置皆OK後啟動Cassandra  #確認防火牆9160 Port無阻擋

cd ~/cassandra

bin/cassandra -f  
#啟動Cassandra,下圖中可以看到9160 Port成功被綁定


    9160 Port 確認UP

 





 







連線Cassandra 測試

bin/cassandra-cli -h proxy -p 9160         #連線到proxy這台主機.使用 9160 Port

cluster_name: 'Test Cluster'  可在cassandra.yaml 檔案中修改,目前已成功連線到cassandra




 



 






簡易操作Cassandra語法

補述: 補述前面佈建時漏提到一個設定檔在 conf/cassandr-env.sh

      MAX_HEAP_SIZE & HEAP_NEWSIZE  定義資料庫花費RAM用量,請視實體情況微調
















建立 Keyspace (貌似定義資料庫名)->

接者於Keysapce底下建立Comlun Family(貌似資料表)

->Then 定義資料的排序為"UTF8"為準則

->最後著手建立一筆筆 Record(每筆資料愈要對應key,value)


 #本人參考官網範例實作如下

 create keyspace neil0918u ;  #定義keyspace名稱,neil0918u
 
 use neil0918u;  #指定存取keyspace neil0918u

 create column family eda with key_validation_class = `UTF8Type` and

 comparator = 'UTF8Type'and default_validation_class = `UTF8Type`;


 建立 column family Name 為 eda 並指定資料排序以UTF8為準則
















著手建立多筆資料

   use neil0918;

   set eda[bingo] [nickname] = 'NC';
 # eda:column family 定義名稱
                                       
                                        [bingo] key 值

                                        [niclname] 資料欄位名稱

                                        [`NC`] 欄位對應value


  上述InSert動作後,下圖中使用get eda[ bingo ]; 取得方才已建立完成資料明細,如下














 

倘若要刪除某一Row,參考以下操作

      del eda['bingo'] ['address'];  #執行完成後,可再次使用get eda[bingo] ;

   驗證該row 是否已刪除

   TIP: 查詢指令用法: del help; <-查詢del指令用法說明 



















PHPcassa  :  可使用PHP語法存取Casssandra DB tools ,請參考

http://thobbs.github.com/phpcassa/installation.html

佈署運行環境不難,推薦給寫code朋友,您可佈建ok後檢查php支援訊息

thrift_protocol  確定支援是OK即成









使用 jconsole tools(JMX) 遠程監控資源使用率:[預設使用Port:7199]

請預先下載 windows 版本 jdk 7 版本元件,此tools 位於 /bin 資料夾底下名為

"
jconsole.exe" 直接點擊如下,進入監控畫面

  Remote Process:

  "192.168.11.180:7199"  
#Port號可以在conf/cassandra-env.sh 檔案進行變更
























我們可利用即時監控資源總表瀏覽,Cssandra Heap Memory 目前使用率

   threads 程序使用數,與CPU花費率,評估與解決效能執行之瓶頸!!
相簿設定
標籤設定
相簿狀態