【发布时间】:2016-01-06 13:52:10
【问题描述】:
我有一个要求,我想使用 Ambari 服务器在所有 hadoop 集群节点上的特定位置部署一个 jar 文件。为此,我认为我可以使用服务功能。 所以我创建了一个示例服务,可以将它部署为所有节点上的客户端或从属。 我在 /var/lib/ambari-server/resources/stacks/HDP/2.2/services/ 中添加了一个新文件夹作为 Testservice,它具有以下文件/目录
[machine]# cd /var/lib/ambari-server/resources/stacks/HDP/2.2/services/Testservice^C
[machine]#
[machine]# pwd
/var/lib/ambari-server/resources/stacks/HDP/2.2/services/Testservice
[machine]# ls
configuration metainfo.xml package
[machine]# ls package/*
package/archive.zip
package/files:
filesmaster.py test1.jar
package/scripts:
test_client.py
[machine]#
有了这个我的服务被添加并安装在所有节点上。在每个节点上,使用与上述相同的文件结构创建相应的目录“/var/lib/ambari-agent/cache/stacks/HDP/2.2/services/Testservice”。截至目前 test_client.py 脚本根本没有代码。只是安装、配置功能的虚拟实现。
所以我想在这里添加代码,以便从每个主机到定义的目标位置的 package/files/test1.jar 说“/lib 文件夹。 在这一点上我需要帮助。如何使用 test_client.py 脚本?如何编写通用代码来复制我的 jar 文件。
test_client.py 有如下所示的安装方法
class TestClient(Script):
def install(self, env):
需要更多详细信息如何使用 env 变量来获取 ambari 服务目录和 hadoop 安装基本路径所需的所有基本路径。
【问题讨论】:
标签: hortonworks-data-platform ambari