如何通过API动态获取mesos主URL?

时间:2015-02-25 10:42:01

标签: apache-zookeeper mesos

有没有办法动态地使用POST / GET调用获取mesos主端点?是否有任何API可以调用zookeeper,而后者又会返回mesos主URL?

3 个答案:

答案 0 :(得分:2)

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

zookeeper.example.com:2181/mesos

您也可以在mesos中查询任何主人,并且请求将自动转发给主要主人。

最后,有一个名为Mesos-DNS的项目,其中包含任何mesos主服务器的DNS端点(master.mesos)。

但是,最重要的一点是您不应该存储该信息。没有理由认为当前的主要大师(或任何大师)不会改变。

答案 1 :(得分:0)

使用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"}

答案 2 :(得分:0)

使用mesos-dns,您只需使用leader.mesos即可获得当前的主人。

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