摘要: Cassandra 是一个流行的分布式 NoSQL 数据存储系统。最近有客户问起了 Cassandra 在如何 Docker 中运行的一些问题。本文将利用 Docker Compose 和阿里云容器服务轻松玩转 Cassandra
Cassandra 是一个流行的分布式 NoSQL 数据存储系统。最近有客户问起了 Cassandra 在如何 Docker 中运行的一些问题。本文将利用 Docker Compose 和阿里云容器服务轻松玩转 Cassandra。
下面的 Docker Compose 模板将为你创建一个包含 3 个节点的 Cassandra 集群,其中第一个容器 "cassandra-1" 为 seed 节点。Docker Hub 上已经提供了 Cassandra 的官方镜像,可以方便地创建单节点 Cassandra 实例或 Cassandra 集群。Cassandra 采用去中心化的集群架构,没有 master 节点的概念;但是会有 seed 节点在新节点连入时通知当前集群。
** 注释:** 这里面一个重要的技巧是:在 Docker 的容器网络模型中 (CNM, Docker Network Model),同一网络中的容器可以通过容器名互相访问。 现在,我们可以轻松利用 docker-compose 命令来启动 Cassandra 集群了 $ docker-compose up -d 启动之后,我们可以方便地查看集群状态
注释:利用阿里云容器服务,我们可以直接使用上文 Compose 模板部署 Cassandra 集群,但是为了防止在相同的 ECS 实例上部署了超过一个个 Cassandra 节点,我们可以添加部署约束来指明不同的 Cassandra 节点部署到不同的 ECS 示例上
这个示例需要集群中至少包含 3 个节点
constraint:aliyun.node_index 约束可以方便地指明将容器部署到集群中的第几个节点
docker-compose 地址 :https://gitee.com/kalista-wangcc_admin/docker-compose.git 文章地址:https://yq.aliyun.com/articles/61950
来源: https://juejin.im/post/5a4e13f0518825732471f8e8