我怎样才能访问chronos api?

时间:2017-05-23 09:46:37

标签: mesos mesos-chronos

我有一个mesos和chronos环境,我想使用chronos api监视作业状态,但是......

curl -L http://localhost:8080/leader

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 404 </title>
</head>
<body>
<h2>HTTP ERROR: 404</h2>
<p>Problem accessing /leader. Reason:
<pre>    Not Found</pre></p>
<hr /><a href="http://eclipse.org/jetty">Powered by Jetty:// 9.3.z-SNAPSHOT</a><hr/>
</body>
</html>

它给我回复404,任何人都有想法吗? 其他功能工作正常。 web ui job status API网址为:chronos REST API DOC

1 个答案:

答案 0 :(得分:0)

您需要确保连接到群集上的正确主机。鉴于您未收到响应,很可能无法通过localhost或chronos-node访问chronos。

要确定chronos在哪里运行,请利用mesos dns

如果您的服务安装为chronos,请按如下所示查找所有TCP端点的SRV记录:

/# dig _chronos._tcp.marathon.mesos SRV

; <<>> DiG 9.12.1-P2 <<>> _chronos._tcp.marathon.mesos SRV
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39584
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;_chronos._tcp.marathon.mesos.  IN      SRV

;; ANSWER SECTION:
_chronos._tcp.marathon.mesos. 60 IN     SRV     0 0 9669 chronos-jjmux-s11.marathon.mesos.

;; ADDITIONAL SECTION:
chronos-jjmux-s11.marathon.mesos. 60 IN A       10.0.2.15

;; Query time: 1 msec
;; SERVER: 198.51.100.1#53(198.51.100.1)
;; WHEN: Tue Oct 02 22:48:02 UTC 2018
;; MSG SIZE  rcvd: 114

在上述情况下,我通过DC / OS Universe安装,该Universe通过主机网络驱动程序自动使用任何可用端口进行部署,但是我通过DNS查询在9669端口上有一个tcp侦听器。从那里您可以通过curl -L -X GET http://chronos.marathon.mesos:9669/scheduler/jobs收到回复。 (请注意:chronos文档指出前缀为/v1,但是在某些部署中并非如此)。

最后,您可能不想每次都对SRV记录进行查找。如果您是通过DC / OS Universe安装的,那么chronos是通过马拉松部署的,但是Universe程序包会隐藏通过DC / OS接口定义VIP所需的所有配置选项。可以通过手动转到原始的马拉松界面来解决此问题,在该界面中您可以更改配置(或通过马拉松api)。