【问题标题】:Deploying Cassandra on ECS?在 ECS 上部署 Cassandra?
【发布时间】:2019-04-20 00:48:47
【问题描述】:

我正在尝试在 AWS ECS 上将 Cassandra 部署为 docker 容器。 单个节点很容易完成,但现在我正在尝试为它创建一个集群。

Cassandra 需要固定的 IP 地址,至少对于种子节点而言,需要将其传递给集群中的所有节点。 Cassandra 无法使用 ELB 地址,因为 ELB 名称解析为与 docker 主机本身不同的 ip。

所以基本上我需要能够强制 AWS 将映像部署到特定的实例/主机/IP。这样,我可以在运行 docker 映像时传递正确的配置。

我可以使用 RunTask api 并将其传递给 PlacementConstraint,从而根据 IP 将主机限制为单个主机吗? PrivateIp 是此接口中 EC2 实例的属性吗?

您还有其他好主意吗?

谢谢!

【问题讨论】:

    标签: amazon-web-services docker cassandra amazon-ecs


    【解决方案1】:

    您可以在种子列表中使用主机名。只要确保您的种子将使用这些名称。此外,如果种子停止并解析为另一个 IP,您需要替换它(但对于任何更改其 IP 的节点都是如此)

    【讨论】:

      【解决方案2】:

      如果种子 ecs 容器是使用 awsvpc 网络模式添加的,那么每个任务都会获得自己的 eni。启动种子节点后,您可以使用“aws describe-tasks”API 获取其 IP 地址并相应地更新您的 Cassandra.yml

      【讨论】:

        猜你喜欢
        • 2022-07-28
        • 2011-06-10
        • 1970-01-01
        • 2018-09-02
        • 1970-01-01
        • 2023-03-15
        • 2018-09-09
        • 2019-02-22
        • 1970-01-01
        相关资源
        最近更新 更多