有没有办法动态地使用POST / GET调用获取mesos主端点?是否有任何API可以调用zookeeper,而后者又会返回mesos主URL?
答案 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