如何测试Ambari自定义堆栈安装?

时间:2016-03-18 21:48:48

标签: hortonworks-data-platform ambari

我希望Ambari管理(安装,启动,停止,状态)自定义服务。我已经弄清楚Ambari堆栈是如何工作的,但我现在正面临一个开发工作流问题:测试它的最佳方法是什么?

到目前为止,我正在编写一些Python代码(/var/lib/ambari/resources/stacks/HDP/2.3/MY_SERVICE/package / ...),每次我想测试它时,我都需要到:

  • 删除服务(使用API​​)
  • 重启Ambari
  • 安装服务(通过用户界面中的所有步骤)
  • 抓住日志

这非常耗时,并不是真正优化的开发工作流程......

有没有更好的方法来测试用于管理服务的Python代码(install(),start(),status()方法)?

1 个答案:

答案 0 :(得分:0)

虽然问题刚刚问过,但我遇到了同样的问题并找到了解决这个问题的方法:

  • 在命令行上设置python路径:export PYTHONPATH=/usr/lib/python2.6/site-packages/
  • 通过python ./package/scripts/service.py INSTALL /var/lib/ambari-agent/data/command-53.json /var/lib/ambari-server/resources/stacks/HDP/2.5/services/TESTSERVICE /tmp/out.txt DEBUG /tmp
  • 运行脚本

如果您只是在没有任何参数的情况下调用python ./package/scripts/service.py,那么您将获得命令行参数的帮助。 json文件来自Web-GUI上的先前服务安装。

您还必须根据您的操作系统环境更改python路径。在指定的python目录(/usr/lib/python2.6/site-packages/)中,您应该看到ambari python库的链接。