繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM