首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ambari插件开发

Ambari插件开发
EN

Stack Overflow用户
提问于 2016-06-07 08:30:53
回答 1查看 486关注 0票数 1

我想开发用于部署某些服务的Ambari插件(类似于这个https://github.com/tzolov/elasticsearch-yarn-ambari-plugin)。

我想要求开发/调试的良好实践。

目前,我们确实会删除新文件并将其复制到AMBARI_SERVER_SERVICE_PATH/services/,然后是ambari-agent stop && ambari-server stop && ambari-server reset --silent && ambari-server start && ambari-agent start,我不觉得这是一个很好的解决方案。

你有什么好的建议,建议,链接吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-10 16:39:37

恰当的术语是Ambari自定义服务,而不是插件。

下面的序列是到目前为止开发自定义服务的最佳方法。假设您正在开发自定义服务“FOO”。

1)将foo服务解压缩到正在开发的堆栈中。为了这个例子。我假设HDP 2.4:

代码语言:javascript
复制
tar -xzvf foo_service.tgz -C /var/lib/ambari-server/resources/stacks/HDP/2.4/services/FOO

2)重新启动ambari服务器以获取堆栈更改。

代码语言:javascript
复制
sudo ambari-server restart

3)使用Ambari服务安装向导来安装您的自定义服务。

4)进行测试和调试,对自定义服务描述符文件进行任何更改。

5)停止使用Ambari UI的服务及其所有组件。

6)使用类似于下面的remove-service.sh脚本从Ambari卸载您的服务。

7)重新安装您修改过的服务,从第一步开始。冲洗并重复。

移除-service.sh:

代码语言:javascript
复制
#!/usr/bin/env bash

host=localhost
cluster=hdp
port=8080
user=admin
password='admin'

echo "Deleting the FOO service..."
curl -i -H "X-Requested-By: ambari" -u $user:$password -X DELETE http://$host:$port/api/v1/clusters/$cluster/services/FOO

注意:有时,如果您的自定义服务未能正确安装,此方法将无法工作。在这种情况下,有时需要更正描述符文件,重新启动ambari服务器,然后使用ambari重新安装服务。在这种情况下,使用服务安装向导重新安装将无法工作。有关如何使用rest重新安装服务的更多细节,请参见ambari。

关于在Ambari Wiki上开发定制的ambari服务和ambari,可以找到许多有用的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37674276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档