多節點部署Cassandra叢集

類別: IT

這篇文章收集了我從Apache Cassandra官網部署Cassandra叢集的步驟。下面的步驟是我分享的部署叢集的過程。大致分為三步

  1. 部署第一個節點
  2. 增加其他節點
  3. 監視叢集(工具nodetool、jConsole、Cassandra GUI)
部署第一個節點 
 Open cassandra.yaml which is in 'apache-cassandra-1.1.0/conf'.
Change listen_address: localhost -->  listen_address: <node IP address>
         rpc_address: localhost -->  rpc_address: <node IP address>
- seeds: "127.0.0.1" --> - seeds: "node IP address"

listen address定義了叢集中其他節點的連線方式。所以多節點的叢集必須將這個改成他實際的網路卡地址。rpc address定義了這個節點在哪裡監聽客戶端。所以可以跟node的IP地址一樣,或者設定為0.0.0.0如果我們想在所有的可用網路卡介面上監聽的話。seeds作為連線點,當一個新的節點加入到叢集中的時候,他聯絡seeds得到其他節點的一些基礎資訊。所以在多節點中,作為種子的節點必須是所有的節點都可以通過路由連線到的。注:在多節點的叢集中,最好擁有多個seeds。多個節點作為seeds可以通過如下方式定義。

- seeds: "<ip1>,<ip2>,<ip3>"

讓我們設想一下我們的叢集需要效能的提升,系統需要儲存更多的資料,現在就是向叢集中加入其他節點的時候了。

增加其他的節點

簡單的,我們就把第一個節點上的Apache Cassandra資料夾複製到每一個節點中,將listen_address<node IP address>和rpc_address<node IP address>替換成每一個節點對應的值(不需要去改變seeds區域的東西)。當我們將每一個節點啟動的時候他們將加入到叢集中。在日誌的記錄中我們可以看到這個節點能夠看到的其他節點的資訊。

監視叢集

Nodetool,這個工具內建在了Apache Cassandra中,我們可以在bin目錄下找到他。我們可以像如下方式來檢視叢集的一些資訊。

jConsole 我們可以使用這個工具監視記憶體的使用狀況,執行緒的表現等等。在詳細分析叢集的細節和微調效能的時候,這個工具也顯得非常的有用。

Cassandra GUI  如果你想以視覺化的方式檢視叢集內的資料的話,這個工具很有用,有了這個工具,我們可以看到跨叢集分佈的內容。

多節點部署Cassandra叢集原文請看這裡