我希望Ambari管理(安装,启动,停止,状态)自定义服务。我已经弄清楚Ambari堆栈是如何工作的,但我现在正面临一个开发工作流问题:测试它的最佳方法是什么?
到目前为止,我正在编写一些Python代码(/var/lib/ambari/resources/stacks/HDP/2.3/MY_SERVICE/package / ...),每次我想测试它时,我都需要到:
这非常耗时,并不是真正优化的开发工作流程......
有没有更好的方法来测试用于管理服务的Python代码(install(),start(),status()方法)?
答案 0 :(得分:0)
虽然问题刚刚问过,但我遇到了同样的问题并找到了解决这个问题的方法:
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库的链接。