Cassandra分布式NoSQL資料庫安裝部署指導

來源:互聯網
上載者:User

Cassandra分布式NoSQL資料庫安裝部署指導

Apache Cassandra是一套開源分布式 Key-Value 儲存系統。它最初由 Facebook 開發用於儲存特別大的資料。Cassandra適合於即時交易處理和提供互動型資料。Cassandra的資料模型是基於列族(Column Family)的四維或五維模型。它借鑒了 Amazon 的 Dynamo 和 Google's BigTable 的資料結構和功能特點,採用 Memtable 和 SSTable 的方式進行儲存。在 Cassandra 寫入資料之前,需要先記錄日誌 ( CommitLog ),然後資料開始寫入到 Column Family 對應的 Memtable 中,Memtable 是一種按照 key 排序資料的記憶體結構,在滿足一定條件時,再把 Memtable的資料批量的重新整理到磁碟上,儲存為SSTable。本文主要來介紹一下關於Cassandra的安裝配置方法。

註:本文預設您已經安裝了JDK環境

一、Cassandra節點的安裝和配置

1.下載Cassandra

wget http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.1.5/apache-cassandra-2.1.5-bin.tar.gz

2.解壓縮檔案

tar -zxvf apache-cassandra-2.1.5-bin.tar.gz

mv  apache-cassandra-2.1.5-rc1 cassandra

3.Cassandra的目錄說明

bin  存放與 Cassandra 操作的相關指令碼

conf  存放設定檔的目錄

interface  Cassandra 的 Thrift 介面定義檔案,可以用於產生各種程式設計語言的介面代碼

Javadoc  原始碼的 javadoc

lib  Cassandra 運行時所需的 jar 包

4.配製Cassandra節點的資料存放區目錄

#修改配製檔案 storage-conf.xml

#cd conf

<CommitLogDirectory>/data/db/lib/cassandra/commitlog</CommitLogDirectory>

<DataFileDirectories>

<DataFileDirectory>/data/db/lib/cassandra/data</DataFileDirectory>

</DataFileDirectories>

5.修改日誌配製檔案 log4j.properties

# 日誌路徑

#log4j.appender.R.File=/var/log/cassandra/system.log

# 配置後的日誌路徑 :

log4j.appender.R.File=/data/db/log/cassandra/system.log

6.建立檔案存放資料和日誌的目錄

# mkdir – p /data/db/lib/cassandra

# mkdir – p /data/db/log/Cassandra

7.配製完成後,啟動 Cassandra

# bin/Cassandra

INFO 09:29:12,888 Starting up server gossip

INFO 09:29:12,992 Binding thrift service to localhost/127.0.0.1:9160

#看到這兩行啟動回顯資訊時,說明 Cassandra 已啟動成功。

8.串連到 Cassandra 並添加、擷取資料

#bin/cassandra-cli --host localhost --port 9160

#cassandra>

#cassandra> set Keyspace1.Standard2['studentA']['age'] = '18'

#Value inserted

#cassandra> get Keyspace1.Standard2['studentA']

#=> (column=age, value=18, timestamp=1272357045192000)

#Returned 1 results

9.停止Cassandra服務

# ps -ef | grep cassandra

# kill -9 16250

二、補充

Cassandra配製檔案storage-conf.xml相關配製說明

#storage-conf.xml

<!-- 叢集時顯示的節點名稱 -->

<ClusterName>Test Cluster</ClusterName>

<!-- 節點啟動時,是否自動加入到叢集中,預設為 false -->

<AutoBootstrap>false</AutoBootstrap>

<!-- 叢集的節點配製 -->

<Seeds> <Seed>127.0.0.1</Seed> </Seeds>

<!-- 節點之間通迅的監聽地址 -->

<ListenAddress>localhost</ListenAddress>

<!--  基於 Thrift 的 cassandra 用戶端監聽地址,叢集時設為:0.0.0.0 表示偵聽所有用戶端 , 預設為:localhost  -->

<ThriftAddress>localhost</ThriftAddress>

<!-- 用戶端串連的連接埠 -->

<ThriftPort>9160</ThriftPort>

<!-- FlushDataBufferSizeInMB  將 memtables 上的資料寫入在 Disk 上,超過設定好的限制大小時 ( 預設 32M),則將資料寫入磁碟,

FlushIndexBufferSizeInMB  超過設定的時間長度(預設 8 分鐘)後,將 memtables 由的資料寫入磁碟中-->

<FlushDataBufferSizeInMB>32</FlushDataBufferSizeInMB>

<FlushIndexBufferSizeInMB>8</FlushIndexBufferSizeInMB>

<!-- 節點之間的日誌記錄同步模式。預設:periodic, 對應配製 CommitLogSyncPeriodInMS 啟動 batch 時,則對應的配製CommitLogSyncBatchWindowInMS -->

<CommitLogSync>periodic</CommitLogSync>

<!-- 預設為每 10 秒同步一次日誌記錄 -->

<CommitLogSyncPeriodInMS>10000</CommitLogSyncPeriodInMS>

<!-- <CommitLogSyncBatchWindowInMS>1</CommitLogSyncBatchWindowInMS> -->

《NoSQL資料庫入門》,高清PDF 版下載見

NoSQL資料庫的基礎知識

公司專屬應用程式NoSQL的關鍵

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.