我有一个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,任何人都有想法吗?
其他功能工作正常。
API网址为:chronos REST API DOC
答案 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)。