我正在尝试使用apachetwill构建一个yarn应用程序。从斜纹布的幻灯片上,他们在谈论 maven-bundle-plugin
打包hello world示例。
因此,为了打包示例helloworld,我首先尝试用 mvn assembly:assembly -DdescriptorId=jar-with-dependencies
. 然后将以下内容添加到 pom.xml
(还有做什么 mvn clean install
):
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.5.3</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${pom.groupId}.${pom.artifactId}</Bundle-SymbolicName>
<Bundle-Name>${pom.artifactId}</Bundle-Name>
<Bundle-Version>1.0.0</Bundle-Version>
<Private-Package>org.wso2.mbp.helloworld</Private-Package>
<Bundle-Activator>org.wso2.mbp.helloworld.Activator</Bundle-Activator>
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
<Embed-Transitive>true</Embed-Transitive>
<Import-Package>
org.apache.twill.*,
org.osgi.framework,
*;resolution:=optional
</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
twill应用程序是如何打包的?然后如何在hadoop上运行它们?
1条答案
按热度按时间5jdjgkvh1#
对于打包,可以使用maven bundle插件。在pom.xml中通常是这样的:
那就跑吧
MAVEN_OPTS="-Xmx512m" mvn clean package
. 应该在目标目录下创建一个.jar文件。如果使用“jar-tf”查看jar文件的内容,应该是这样的:要启动应用程序,请确保您所在的主机可以访问您计划启动应用程序的hadoop集群。然后可以在某个目录中对文件进行scp和unjar,然后在扩展的jar目录中执行如下shell命令:
helloworld中的main()方法应该能够与zookeeper和yarn交互,并在集群中启动应用程序。