Curl 如何访问mesos http端点以获取集群信息

Curl 如何访问mesos http端点以获取集群信息,curl,mesos,Curl,Mesos,我有一个本地mesos设置(playa mesos),它正在本地系统中运行。我有一个需求,我需要分析不同从属服务器提供的资源,还需要从mesos集群节点(主节点和从属节点)获取调度信息 我正在尝试使用curl来访问mesos文档中提到的HTTP端点,并尝试返回信息 curl --no-buffer -X POST -H "Content-Type: application/json" --data '{"type":"SUBSCRIBE","subscribe":{"framework_inf

我有一个本地mesos设置(playa mesos),它正在本地系统中运行。我有一个需求,我需要分析不同从属服务器提供的资源,还需要从mesos集群节点(主节点和从属节点)获取调度信息

我正在尝试使用curl来访问mesos文档中提到的HTTP端点,并尝试返回信息

 curl --no-buffer -X POST -H "Content-Type: application/json" --data '{"type":"SUBSCRIBE","subscribe":{"framework_info":{"user":"root","name":"democurl"}}}' http://<ip address>:5050/master/api/v1/scheduler
curl--no buffer-X POST-H“Content Type:application/json”--数据“{”Type:“SUBSCRIBE”,“SUBSCRIBE:{”framework_info:{”user:“root”,“name:“democurl”}}}}http://:5050/master/api/v1/scheduler
这就是从不同的奴隶那里归还祭品。 现在有许多与调度、作业执行等相关的HTTP端点不起作用。当我试图使用curl访问它们时,它根本不起作用,也不返回任何json数据


我需要帮助使mesos http端点为所有可用的Resurce工作。我正在尝试使用mesos文档,但还没有成功。如果有人能发布一个示例curl命令,那就太好了。谢谢

我相信您的curl命令在“/health”端点上运行良好;您在命令行中看不到任何内容,因为200OK响应没有主体。要查看响应标题,请将
-i
选项与curl一起使用:

~/src/mesos/build|master⚡  curl -i --header "Content-Type: application/json" --header "Accept: application/json" -X GET localhost:5050/master/health
HTTP/1.1 200 OK
Date: Wed, 30 Mar 2016 19:15:45 GMT
Content-Length: 0

~/src/mesos/build|master⚡  curl -i --header "Content-Type: application/json" --header "Accept: application/json" -X GET localhost:5050/master/state
HTTP/1.1 200 OK
Date: Wed, 30 Mar 2016 19:16:54 GMT
Content-Type: application/json
Content-Length: 1504

{"version":"0.29.0","git_sha":"3b8ddc87e6fb7fe3c02147f30d9bacbc9d17bb14","git_branch":"refs\/heads\/master","build_date":"2016-03-28 13:59:44","build_time":1459198784.0,"build_user":"user","start_time":1459365180.7711,"elected_time":1459365180.78308,"id":"ed84d3b1-4153-4177-b96b-8a11be5d4959","pid":"master@127.0.0.1:5050","hostname":"localhost","activated_slaves":0.0,"deactivated_slaves":0.0,"leader":"master@127.0.0.1:5050","flags":{"allocation_interval":"1secs","allocator":"HierarchicalDRF","authenticate":"false","authenticate_http":"false","authenticate_slaves":"false","authenticators":"crammd5","authorizers":"local","framework_sorter":"drf","help":"false","hostname_lookup":"true","http_authenticators":"basic","initialize_driver_logging":"true","ip":"127.0.0.1","log_auto_initialize":"true","logbufsecs":"0","logging_level":"INFO","max_completed_frameworks":"50","max_completed_tasks_per_framework":"1000","max_slave_ping_timeouts":"5","port":"5050","quiet":"false","recovery_slave_removal_limit":"100%","registry":"replicated_log","registry_fetch_timeout":"1mins","registry_store_timeout":"20secs","registry_strict":"false","root_submissions":"true","slave_ping_timeout":"15secs","slave_reregister_timeout":"10mins","user_sorter":"drf","version":"false","webui_dir":"\/Users\/gmann\/src\/mesos\/build\/..\/src\/webui","work_dir":"\/Users\/gmann\/var\/mesos","zk_session_timeout":"10secs"},"slaves":[],"frameworks":[],"completed_frameworks":[],"orphan_tasks":[],"unregistered_frameworks":[]}%

我相信您的curl命令命中“/health”端点效果良好;您在命令行中看不到任何内容,因为200OK响应没有主体。要查看响应标题,请将
-i
选项与curl一起使用:

~/src/mesos/build|master⚡  curl -i --header "Content-Type: application/json" --header "Accept: application/json" -X GET localhost:5050/master/health
HTTP/1.1 200 OK
Date: Wed, 30 Mar 2016 19:15:45 GMT
Content-Length: 0

~/src/mesos/build|master⚡  curl -i --header "Content-Type: application/json" --header "Accept: application/json" -X GET localhost:5050/master/state
HTTP/1.1 200 OK
Date: Wed, 30 Mar 2016 19:16:54 GMT
Content-Type: application/json
Content-Length: 1504

{"version":"0.29.0","git_sha":"3b8ddc87e6fb7fe3c02147f30d9bacbc9d17bb14","git_branch":"refs\/heads\/master","build_date":"2016-03-28 13:59:44","build_time":1459198784.0,"build_user":"user","start_time":1459365180.7711,"elected_time":1459365180.78308,"id":"ed84d3b1-4153-4177-b96b-8a11be5d4959","pid":"master@127.0.0.1:5050","hostname":"localhost","activated_slaves":0.0,"deactivated_slaves":0.0,"leader":"master@127.0.0.1:5050","flags":{"allocation_interval":"1secs","allocator":"HierarchicalDRF","authenticate":"false","authenticate_http":"false","authenticate_slaves":"false","authenticators":"crammd5","authorizers":"local","framework_sorter":"drf","help":"false","hostname_lookup":"true","http_authenticators":"basic","initialize_driver_logging":"true","ip":"127.0.0.1","log_auto_initialize":"true","logbufsecs":"0","logging_level":"INFO","max_completed_frameworks":"50","max_completed_tasks_per_framework":"1000","max_slave_ping_timeouts":"5","port":"5050","quiet":"false","recovery_slave_removal_limit":"100%","registry":"replicated_log","registry_fetch_timeout":"1mins","registry_store_timeout":"20secs","registry_strict":"false","root_submissions":"true","slave_ping_timeout":"15secs","slave_reregister_timeout":"10mins","user_sorter":"drf","version":"false","webui_dir":"\/Users\/gmann\/src\/mesos\/build\/..\/src\/webui","work_dir":"\/Users\/gmann\/var\/mesos","zk_session_timeout":"10secs"},"slaves":[],"frameworks":[],"completed_frameworks":[],"orphan_tasks":[],"unregistered_frameworks":[]}%

您获得了哪种HTTP状态代码(2xx、3xx、4xx、5xx)?我刚刚在一个0.28米介观星团上尝试了旋度命令,效果很好。等等,这是两个完全不同的问题。IDK没有上下文的Java问题是什么,但在/health的情况下,这是返回200的预期行为,请阅读文档:当尝试使用Java代码时,我通常会得到4XX。但是“curl--header”内容类型:application/json--header“Accept:application/json”:5050/master/health;url只是没有在命令提示符中返回任何内容。我现在不尝试使用java。希望首先检查所有使用curl的HTTP端点。运行状况、版本、浏览很少有人不返回任何内容,另一方面,很少有人工作得很好,如快照、状态摘要等。我知道我的代理运行状况良好,因为我目前没有在其中运行任何作业。您获得了哪种HTTP状态代码(2xx、3xx、4xx、5xx)?我刚刚在一个0.28米介观星团上尝试了旋度命令,效果很好。等等,这是两个完全不同的问题。IDK没有上下文的Java问题是什么,但在/health的情况下,这是返回200的预期行为,请阅读文档:当尝试使用Java代码时,我通常会得到4XX。但是“curl--header”内容类型:application/json--header“Accept:application/json”:5050/master/health;url只是没有在命令提示符中返回任何内容。我现在不尝试使用java。希望首先检查所有使用curl的HTTP端点。运行状况、版本、浏览很少有人不返回任何内容,另一方面,很少有人工作得很好,如快照、状态摘要等。我知道我的代理是健康的,因为我暂时没有在其中运行任何作业。