领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我们很高兴地宣布 Spring for Apache Hadoop 2.0 RC4 版本现已发布。
现在包含构建 YARN 应用程序的简化支持
我们正在接近 Spring for Apache Hadoop 2.0 的 GA 发布。基于在 Spring XD 项目中使用 Spring Boot 对 YARN 的支持的反馈,我们改进了用于开发 YARN 应用程序的编程模型。
我们不断挑战 Janne,以使模型更简单。最新的挑战是使其能够编写单个 Java 源文件和一个配置文件,并将其保持在 50 行以下。我想我们已经很接近了
@ComponentScan
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@YarnComponent
@Profile("container")
public static class HelloPojo {
private static final Log log = LogFactory.getLog(HelloPojo.class);
@OnContainerStart
public void onStart() throws Exception {
log.info("Hello from YARN!");
}
}
}
spring:
hadoop:
fsUri: hdfs://localhost:8020
resourceManagerHost: localhost
yarn:
appName: yarn-demo
applicationDir: /apps/yarn-demo/
client:
startup:
action: submit
localizer:
patterns:
- "yarn-demo*jar"
files:
- "file:target/yarn-demo-0.1.0.jar"
launchcontext:
archiveFile: yarn-demo-0.1.0.jar
appmaster:
localizer:
patterns:
- "yarn-demo*jar"
containerCount: 1
launchcontext:
archiveFile: yarn-demo-0.1.0.jar
arguments:
--spring.profiles.active: container
使用 spring-boot-maven-plugin
,构建创建一个包含所有依赖项的单个 jar。然后将此 jar 上传到 HDFS,并在将应用程序提交到 YARN 时进行本地化。 @Profile("container")
注解确保此 bean 仅用于实际的 YARN 容器,而不用于执行 YARN 客户端或 YARN appmaster。
源代码(包括 Maven 构建脚本)以及运行应用程序的说明可在 我的 GitHub 存储库中找到。
###发布
Spring for Apache Hadoop 2.0 版本的默认发行版是当前的 Apache Hadoop 2 稳定版,即 2.2.0。
我们将继续在 Spring IO 里程碑存储库中提供带有各自传递依赖项的版本特定构件
有关如何使用这些版本进行构建的说明,请参见项目 wiki。
有关更多项目特定信息,请参见项目页面。