【问题标题】:Ambari cluster + Service Auto Start Configuration by APIAmbari 集群 + API 服务自动启动配置
【发布时间】:2017-09-04 14:48:12
【问题描述】:

Ambari 服务可以配置为在系统启动时自动启动。每个服务都可以配置为启动所有组件、master 和 worker,或者有选择地启动。

那么如何通过 API 使 ambari 集群中的所有服务在系统启动时自动启动?

备注 - 默认情况下所有服务都被禁用

【问题讨论】:

  • 您的第一句话听起来好像您已经知道可以做到,那么为什么要问这个问题?
  • 我可以通过 ambari GUI 做到这一点,但我想通过 API 做到这一点,作为自动化过程的一部分,我很乐意得到有关 API 的答案
  • Ambari GUI 中的每个操作都是一个 API 请求。打开 Chrome/Firefox 开发工具窗口并在执行操作时观察网络请求。 Ambari 在启动时无法启动远程服务器的服务,AFAIK
  • 这是来自ambari集群的配置,可以通过ambari API请求更改配置
  • 从 ambari GUI 转到 --> admin --> service auto start ,然后您可以看到所有已禁用的服务,正如我所说的,我想将它们全部更改为通过 API 命令启用从 linux 机器上运行

标签: json linux hadoop ambari


【解决方案1】:

您可以使用自动重启API,参考以下文档https://cwiki.apache.org/confluence/display/AMBARI/Recovery%3A+auto+start+components

语法。 以下是 API 的语法

curl -u admin:<password> -H "X-Requested-By: ambari" -X PUT 'http://<ambari host>:<ambari port>/api/v1/clusters/<cluster_name>/components?ServiceComponentInfo/component_name.in(<component name>)' -d '{"ServiceComponentInfo" : {"recovery_enabled":"true"}}'

示例。要为YARN 服务的app timeline server 组件设置自动重启,请使用curl 命令,如下所示。

curl -u admin:<password> -H "X-Requested-By: ambari" -X PUT 'http://localhost:8080/api/v1/clusters/HDPCL/components?ServiceComponentInfo/component_name.in(APP_TIMELINE_SERVER)' -d '{"ServiceComponentInfo" : {"recovery_enabled":"true"}}'

注意:您可以从http://&lt;ambarihost&gt;:&lt;ambari port&gt;/api/v1/clusters/Fenton/components找到组件列表

【讨论】:

  • curl -u admin:admin -H "X-Requested-By: ambari" -X PUT 'localhost:8080/api/v1/clusters/HDP01/…' -d '{"YARN" : {"recovery_enabled":"true"} }'
  • 我运行了这个语法,但有问题你能帮帮我吗?
  • @King David,我在回答中添加了示例。请相应地使用 curl 命令。如果仍然失败,请在评论中添加您的命令和错误。
  • 它的工作,但奇怪的是看到我更新图片,为什么它仍然禁用图片中定义的广告?
猜你喜欢
  • 1970-01-01
  • 2015-12-02
  • 1970-01-01
  • 1970-01-01
  • 2017-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多