领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我们很高兴地宣布,Apache Hadoop 2.0 版 Spring 现已推出 RC4 版本。
现在包括简化的 YARN 应用程序构建支持
我们即将发布 Apache Hadoop 2.0 版 Spring 的 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://127.0.0.1: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 存储库 中找到。
###发布
Apache Hadoop 2.0 版 Spring 发布的默认发行版是当前的 Apache Hadoop 2 稳定版,即 2.2.0。
我们继续在 Spring IO 里程碑存储库中提供具有各自传递依赖项的特定版本工件。
有关如何使用这些版本进行构建的说明,请参阅 项目 Wiki。
有关更多项目特定信息,请参阅 项目页面。