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

68bkxrlz  于 2021-06-21  发布在  Mesos
关注(0)|答案(3)|浏览(400)

有没有一种方法可以使用post/get调用动态地获取mesos主端点?有没有API可以调用zookeeper进而返回mesos主url?

lsmepo6l

lsmepo6l1#

使用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
jaxagkaj

jaxagkaj2#

您应该能够通过查询zookeeper dns端点(例如zookeeper.example.com)来查询zookeeper中的主机: zookeeper.example.com:2181/mesos .
您也可以在mesos中查询您的任何主控器,请求将自动转发给主控器。
最后,有一个名为mesos dns的项目,它为您的任何mesos主机(带有 master.mesos ).
但是,最重要的一点是,您不应该存储这些信息。没有理由认为当前的主控形状(或任何主控形状)不会改变。

ebdffaop

ebdffaop3#

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

相关问题