使用 Apache Ambari 在非 hadoop 节点上部署自定义服务
Deploy custom service on non hadoop node with Apache Ambari
我想使用 Apache Ambari 将自定义服务部署到非 hadoop 节点上。
我在里面创建了一个自定义服务
/var/lib/ambari-server/resources/common-services 而不是 Hadoop 的文件夹:
/var/lib/ambari-server/resources/stacks/HDP
然后我重新启动了我的 ambari 服务器。
但是在网络上,我看不到我的新服务。
我是否遗漏了什么,我必须在任何地方注册我的定制服务吗?
嗨,我不想将我的服务版本硬编码到 metainfo.xml,我可以这样做吗?
<service>
<name>DUMMY_APP</name>
<displayName>My Dummy APP</displayName>
<comment>This is a distributed app.</comment>
<version>0.1</version> --------------This I don't want to hardcode, Can I doit?
<components>
...
</components>
</service>
您仍然需要在堆栈定义中指定您的服务可用于该特定堆栈。 Common Services 只是一个维护一组通用服务定义的地方,可以通过扩展将其用作堆栈定义的一部分。
例如,假设您创建了版本标识符为“1.0”的自定义服务 'MYSERVICE',并希望将其提供给 HDP 2.2 堆栈。
您需要将服务定义放在以下位置:
/var/lib/ambari-server/resources/common-services/MYSERVICE/1.0
上述目录将包含您的 metainfo.xml 文件以及您的配置和包文件夹。这将是您服务的基本定义。
注意:还需要注意的是,您在/var/lib/ambari-server/resources/common-services/MYSERVICE/1.0/metainfo.xml
中指定的版本必须与您在路径中指定的版本号相匹配。对于我们的示例,它将是 <version>1.0</version>
.
然后您还需要向将提供此服务的 HDP 2.2 堆栈添加一个额外的 metainfo.xml 文件。
/var/lib/ambari-server/resources/stacks/HDP/2.2/services/MYSERVICE/metainfo.xml
此文件的内容为:
<?xml version="1.0"?>
<metainfo>
<schemaVersion>2.0</schemaVersion>
<services>
<service>
<name>MYSERVICE</name>
<extends>common-services/MYSERVICE/1.0</extends>
</service>
</services>
</metainfo>
我想使用 Apache Ambari 将自定义服务部署到非 hadoop 节点上。 我在里面创建了一个自定义服务 /var/lib/ambari-server/resources/common-services 而不是 Hadoop 的文件夹: /var/lib/ambari-server/resources/stacks/HDP
然后我重新启动了我的 ambari 服务器。 但是在网络上,我看不到我的新服务。
我是否遗漏了什么,我必须在任何地方注册我的定制服务吗?
嗨,我不想将我的服务版本硬编码到 metainfo.xml,我可以这样做吗?
<service>
<name>DUMMY_APP</name>
<displayName>My Dummy APP</displayName>
<comment>This is a distributed app.</comment>
<version>0.1</version> --------------This I don't want to hardcode, Can I doit?
<components>
...
</components>
</service>
您仍然需要在堆栈定义中指定您的服务可用于该特定堆栈。 Common Services 只是一个维护一组通用服务定义的地方,可以通过扩展将其用作堆栈定义的一部分。
例如,假设您创建了版本标识符为“1.0”的自定义服务 'MYSERVICE',并希望将其提供给 HDP 2.2 堆栈。
您需要将服务定义放在以下位置:
/var/lib/ambari-server/resources/common-services/MYSERVICE/1.0
上述目录将包含您的 metainfo.xml 文件以及您的配置和包文件夹。这将是您服务的基本定义。
注意:还需要注意的是,您在
/var/lib/ambari-server/resources/common-services/MYSERVICE/1.0/metainfo.xml
中指定的版本必须与您在路径中指定的版本号相匹配。对于我们的示例,它将是<version>1.0</version>
.然后您还需要向将提供此服务的 HDP 2.2 堆栈添加一个额外的 metainfo.xml 文件。
/var/lib/ambari-server/resources/stacks/HDP/2.2/services/MYSERVICE/metainfo.xml
此文件的内容为:
<?xml version="1.0"?> <metainfo> <schemaVersion>2.0</schemaVersion> <services> <service> <name>MYSERVICE</name> <extends>common-services/MYSERVICE/1.0</extends> </service> </services> </metainfo>