【问题标题】:How to get mesos master URL through APIs dynamically?如何通过 API 动态获取 mesos master URL?
【发布时间】:2015-04-27 07:41:00
【问题描述】:

有没有办法使用 POST/GET 调用动态获取 mesos 主端点?是否有任何 API 可以调用 zookeeper 并返回 mesos 主 URL?

【问题讨论】:

    标签: apache-zookeeper mesos


    【解决方案1】:

    您应该能够通过查询您的 zookeeper DNS 端点(例如 zookeeper.example.com)来查询 zookeeper 中的 master:

    zookeeper.example.com:2181/mesos.

    您也可以在 mesos 中查询您的任何 master,请求将自动转发给领先的 master。

    最后,有一个名为 Mesos-DNS 的项目,它为您的任何 mesos 主服务器(使用 master.mesos)提供了一个 DNS 端点。

    然而,最重要的一点是您不应该存储这些信息。没有理由假设当前的领先大师(或就此而言的任何大师)不会改变。

    【讨论】:

      【解决方案2】:

      使用 zookeeper 命令行。

      https://github.com/apache/zookeeper/blob/trunk/bin/zkCli.sh

      ./bin/zkCli.sh
      
      help
      # see how to connect to other zookeeper
      # default is: localhost:2181
      
      ls /
      # [mesos, zookeeper]
      
      ls /mesos
      # [json.info_0000000001]
      
      get /mesos/json.info_0000000001
      # It will return the Mesos Master's hostname & IP
      

      结果是这样的:

      {"address":{"hostname":"ced7f7fb79fc","ip":"172.17.0.3","port":5050},"hostname":"ced7f7fb79fc","id":"c8055c4c-3ae0-40e6-a710-5184bcb957a9","ip":50336172,"pid":"master@172.17.0.3:5050","port":5050,"version":"0.26.0"}
      

      【讨论】:

      • 这假设/mesos中只有一个znode。但是,这不能假设,也没有办法从 znode 内容中生成的 json 确定领导者。例如。 [zk: localhost:2181(CONNECTED) 20] ls /mesos ### [json.info_0000000111, json.info_0000000112, json.info_0000000112, log_replicas]
      【解决方案3】:

      使用mesos-dns,您可以简单地使用leader.mesos 获取当前master。

      dig leader.mesos
      
      ; <<>> DiG 9.9.5-3ubuntu0.6-Ubuntu <<>> leader.mesos
      ;; global options: +cmd
      ;; Got answer:
      ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8386
      ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
      
      ;; QUESTION SECTION:
      ;leader.mesos.                  IN      A
      
      ;; ANSWER SECTION:
      leader.mesos.           60      IN      A       10.100.12.40
      
      ;; Query time: 1 msec
      ;; SERVER: 10.100.14.206#53(10.100.14.206)
      ;; WHEN: Wed Sep 14 15:31:55 UTC 2016
      ;; MSG SIZE  rcvd: 46
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-24
        • 1970-01-01
        • 2021-08-08
        • 1970-01-01
        • 2014-02-09
        相关资源
        最近更新 更多