Cassandra 文件

版本

您正在檢視預發行版本的說明文件。

設定 Cassandra

Cassandra 組態檔案位置會因安裝類型而異

  • docker:/etc/cassandra 目錄

  • tarball:tarball 安裝位置內的 conf 目錄

  • package:/etc/cassandra 目錄

Cassandra 的預設組態檔案 cassandra.yaml 足以探索單一節點的簡單 叢集。但是,任何超出在本地執行單一節點叢集的行為都需要對各種 Cassandra 組態檔案進行額外的組態。需要非預設組態的一些範例包括部署多節點叢集或使用未在叢集節點上執行的客戶端。

  • cassandra.yaml:Cassandra 的主要組態檔案

  • cassandra-env.sh:可以設定環境變數

  • cassandra-rackdc.propertiescassandra-topology.properties:設定叢集的機架和資料中心資訊

  • logback.xml:記錄組態,包括記錄層級

  • jvm-*:多個伺服器和客戶端的 JVM 組態檔案

  • commitlog_archiving.properties:設定 commitlog 的封存參數

範例組態檔案也可以在 ./conf 中找到

  • cqlshrc.sample:如何組態 CQL shell (cqlsh)

主要執行時期屬性

透過設定 cassandra.yaml 檔案中的 yaml 屬性來組態 Cassandra。至少您應該考慮設定下列屬性

  • cluster_name:設定叢集名稱。

  • seeds:叢集 種子節點的 IP 位址清單,以逗號分隔。

  • storage_port:檢查防火牆是否沒有封鎖預設埠 7000。

  • listen_address監聽位址是節點的 IP 位址,允許它與叢集中的其他節點進行通訊。預設設定為 localhost。或者,您可以設定 listen_interface 以告知 Cassandra 要使用哪個介面,並連續使用哪個位址。設定一個屬性,而不是兩個。

  • native_transport_port:檢查防火牆是否封鎖了 9042 預設埠,以便 cqlsh 等用戶端可以在此埠上與 Cassandra 通訊。

變更目錄位置

下列 yaml 屬性控制目錄的位置

  • data_file_directories:儲存資料檔案(例如 SSTables)的一個或多個目錄。

  • commitlog_directory:儲存提交記錄檔的目錄。

  • saved_caches_directory:儲存已儲存快取的目錄。

  • hints_directory:儲存 hints 的目錄。

考量效能,如果您有多個磁碟,請考慮將提交記錄和資料檔案放在不同的磁碟上。

環境變數

可以在 cassandra-env.sh 中設定堆積大小等 JVM 層級設定。您可以將任何其他 JVM 命令列引數新增至 JVM_OPTS 環境變數;當 Cassandra 啟動時,這些引數會傳遞給 JVM。

記錄

預設記錄器為 logback。預設會記錄

  • system.log 中的 INFO 層級

  • debug.log 中的 DEBUG 層級

在前台執行時,也會以 INFO 層級記錄到主控台。您可以透過編輯 logback.xml 或執行 nodetool setlogginglevel 指令來變更記錄屬性。