[英]How to get mesos master URL through APIs dynamically?
有没有一种方法可以动态地使用POST / GET调用来获取mesos主端点? 是否有任何API可以调用zookeeper,从而又返回mesos主URL?
您应该能够通过以下方式查询Zookeeper DNS端点(例如zookeeper.example.com)来查询zookeeper中的主服务器:
zookeeper.example.com:2181/mesos
。
您也可以在mesos中查询任何主服务器,该请求将自动转发到主服务器。
最后,有一个名为Mesos-DNS的项目,该项目具有适用于您的任何mesos主服务器(带有master.mesos
)的DNS终结点。
但是,最重要的一点是您不应该存储该信息 。 没有理由假设当前的领先大师(或任何与此相关的大师)不会改变。
使用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-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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.