【问题标题】:How to identify a master node in an AWS cluster如何识别 AWS 集群中的主节点
【发布时间】:2014-09-17 14:11:48
【问题描述】:

我想在 AWS 企业中创建一个集群系统。集群将有一个主节点和几个从节点。从站将使用 TCP/IP 连接连接到主站。我们组织的 AWS 企业中可能有多个集群(例如 dev1、dev2、qa1、qa2 等)。

对于这种特殊技术,从属节点必须以某种方式发现主节点的 IP 地址。这样做的最佳做法是什么?我有几个想法:

  1. 将整个集群放在某种经过 NAT 的子网中,并让主节点始终位于已知地址(例如 192.168.0.1)
  2. 每个集群都需要某种域名并使用 DNS。
  3. 使用 Eureka 而不是 DNS。

可能还有更多想法。我对 AWS 有点陌生,但对网络拓扑并不陌生,所以我可能走错了方向。 #1 关于声音是最容易做的事情。还有其他想法吗?

【问题讨论】:

    标签: amazon-web-services dns cluster-computing nat


    【解决方案1】:

    您可以在 EC2 实例上设置任意键值对。因此,例如,您可以在创建实例时使用 class=masterclass=slave 标记您的实例。然后,其他实例可以使用 EC2 API(使用AWS CLI,或AWS SDKs 之一)列出具有特定标签的实例并获取 IP 地址。以下是使用 AWS CLI 的示例:

    aws ec2 describe-instances --filter Name=tag:class,Values=master \
    --query Reservations[*].Instances[*].PrivateIpAddress --output text
    

    这将返回主服务器的私有 IP 地址。

    【讨论】:

      【解决方案2】:

      我见过的另一种方法是让主节点将自己的 IP 写入 S3 存储桶的文件中,然后让节点从同一个文件中读取主节点的 IP。或者它可以使用数据库来完成,所有参与者都可以访问的任何存储介质/位置都可以。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-30
        • 2016-09-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多