利用Docker輕鬆玩轉Cassandra

王聰聰發表於2018-01-05

摘要: Cassandra 是一個流行的分散式NoSQL資料儲存系統。最近有客戶問起了Cassandra在如何Docker中執行的一些問題。本文將利用Docker Compose和阿里雲容器服務輕鬆玩轉Cassandra

利用Docker輕鬆玩轉Cassandra

Cassandra 是一個流行的分散式NoSQL資料儲存系統。最近有客戶問起了Cassandra在如何Docker中執行的一些問題。本文將利用Docker Compose和阿里雲容器服務輕鬆玩轉Cassandra。

一鍵建立Cassandra叢集

Docker Hub上已經提供了Cassandra的官方映象,可以方便地建立單節點Cassandra例項或Cassandra叢集。Cassandra採用去中心化的叢集架構,沒有master節點的概念;但是會有seed節點在新節點連入時通知當前叢集。

下面的Docker Compose模板將為你建立一個包含3個節點的Cassandra叢集,其中第一個容器“cassandra-1”為seed節點。

利用Docker輕鬆玩轉Cassandra

**註釋:**這裡面一個重要的技巧是:在Docker的容器網路模型中(CNM, Docker Network Model),同一網路中的容器可以通過容器名互相訪問。 現在,我們可以輕鬆利用 docker-compose 命令來啟動Cassandra叢集了 $ docker-compose up -d 啟動之後,我們可以方便地檢視叢集狀態

利用Docker輕鬆玩轉Cassandra

雲端部署Cassandra叢集

利用阿里雲容器服務,我們可以直接使用上文Compose模板部署Cassandra叢集,但是為了防止在相同的ECS例項上部署了超過一個個Cassandra節點,我們可以新增部署約束來指明不同的Cassandra節點部署到不同的ECS示例上

利用Docker輕鬆玩轉Cassandra
註釋:
這個示例需要叢集中至少包含3個節點
constraint:aliyun.node_index約束可以方便地指明將容器部署到叢集中的第幾個節點

利用Docker輕鬆玩轉Cassandra

docker-compose地址 :https://gitee.com/kalista-wangcc_admin/docker-compose.git 文章地址:https://yq.aliyun.com/articles/61950

相關文章