使用數人云輕松部署 Cassandra 集群

jopen 8年前發布 | 11K 次閱讀 Cassandra

Cassandra 是一個高可靠的大規模分布式存儲系統,是一個高度可伸縮的、一致的、分布式的結構化 key-value 存儲方案,集 Google BigTable 的數據模型與 Amazon Dynamo 的完全分布式的架構于一身。數人云只需要簡單幾個步驟,就可以完成Cassandra集群的部署,快一起來看看吧。

Cassandra 在2007年 由 非死book 開發,并于2009年成為 Apache 的孵化項目。Cassandra 的主要特點就是它不是一個數據庫,而是由一堆數據庫節點共同構成的一個分布式網絡服務,對 Cassandra 的一個寫操作,會被復制到其他節點上去,對 Cassandra 的讀操作,也會被路由到某個節點上面去讀取。對于一個 Cassandra 群集來說,擴展性能是比較簡單的事情,只管在群集里面添加節點就可以了。由于它良好的可擴展性,被 Digg、推ter 等知名網站所采納,成為了一種流行的分布式結構化數據存儲方案。

接下來,讓我們來體驗一下用數人云來部署 Cassandra 集群吧。

部署之前,我們要在 Docker 環境下制作 Cassandra 的 Docker image,并推送至可訪問的 Docker Registry。寫好配置文件 docker-entrypoint.sh 和 Dockerfile,創建并上傳 Docker image 之后,即可開始部署 Cassandra 集群。

第一步建立集群

請參見 “創建/刪除集群” (詳見文章底部鏈接)來創建您的集群。

創建集群的實例可以參考數人云文檔第一個應用-2048,若要部署 Cassandra 集群,需至少3個 Slave 節點。

注意:本實例至少需要一個內部代理,以便進行 Cassandra 集群的服務發現。

第二步發布應用

接下來,通過數人云創建應用。

新建 Cassandra 應用:

應用名稱:cassandra

選擇集群:your-cluster

鏡像地址:index.shurenyun.com/cassandra

鏡像版本:2.2.4

網絡模式:HOST 模式

選擇主機:(選擇3臺主機)

添加目錄:主機目錄:/var/lib/cassandra 容器目錄:/var/lib/cassandra

選擇容器規格: CPU:1 內存:2048 MB

容器個數:3,選中"1容器1主機" </pre>

高級設置:

添加應用地址:

端口:9024,類型:對內 TCP,映射端口:9024

端口:9160,類型:對內 TCP,映射端口:9160

添加環境變量:

CASSANDRA_SEEDS=ip1,ip2,ip3(3臺主機的 IP,以逗號分隔)

HEAP_NEWSIZE=300m

MAX_HEAP_SIZE=2g</pre>

注1:CASSANDRA_SEEDS:Cassandra 集群的種子節點地址;這個選項可以設置多個值,即 Cassandra 集群中有多個種子節點,集群中所有的服務器在啟動的時候,都將于 seed 節點進行通信,從而獲取集群的相關信息;這里選擇3臺主機作為 seed 節點;

注2:Cassandra 啟動需要足夠的資源,建議 CPU 數最小為1,內存最低2G;

注3:Cassandra 節點間需要通信,所以選擇 HOST 模式部署,避免端口隱射導致而節點間無法通信;

注4:如果對 Cassandra 集群有大致的規劃,可以在選擇主機處選擇所需數量的主機;應用發布后,可以在所選主機的數量范圍內,自由伸縮 Cassandra 節點數量。

第三步測試

等待應用部署完成,登陸一臺集群中的測試機,通過以下指令,用 cqlsh 連接 Cassandra 集群:

sudo docker run -it --rm index.shurenyun.com/cassandra:2.2.4 cqlsh 10.3.10.39

其中,請將10.3.10.39換成你的集群的內部代理 IP;

若連接成功,輸入以下代碼:

CREATE KEYSPACE test

WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'dc1' : 3 } AND DURABLE_WRITES = false;

SELECT * FROM system.schema_keyspaces;</pre>

若看到名為 test 的 keyspace 已經添加成功,如下圖所示:

使用數人云輕松部署 Cassandra 集群

恭喜,現在你的 Cassandra 集群已經正常運作了!

更多詳細內容參見: http://doc.shurenyun.com/practice/cassandra.html

來自: http://dockone.io/article/993

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!