生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

LinkedIn 开源高可用 Hadoop 工具集 Gradle

  • 2015-08-28
  • 本文字数:1011 字

    阅读完需:约 3 分钟

许多大科技公司都是开源事业的参与者和引领者,比如 Google、Netflix、Facebook 等公司,它们开源后的工具被广泛使用。现在,LinkedIn 也加入了开源大家庭。LinkedIn 的工程师创建了一个名为 Gradle 的项目,该项目包含了若干个可以在应用中简化连接多个 Hadoop Job 的工作流工具。

创建运行在 Hadoop 集群上的应用的难点众所周知,而 Gradle 则是一项十分有潜力的高效解决方案。适用于 Apache Hadoop 的 LinkedIn Gradle 插件(Hadoop 插件)包含了同样适用于 Apache Hadoop 的 LinkedIn Gradle DSL(Hadoop DSL)。几年前,LinkedIn 公司就已采用 Gradle 作为其基础软件构建系统。Gradle 使得 Hadoop 开发者能够更高效地完成应用程序的编译、测试和调配。Gradle 还可以帮助开发者方便地使用多个 Hadoop 应用框架。不管在开发时使用了什么工具,Hadoop 插件都可以让开发者在一致的体验下管理他们的项目。

在开发出 Hadoop 插件之前很久,LinkedIn 的工程师们就意识到了编写个人的 Hadoop Job 仅仅是有效使用 Hadoop 挑战的一部分。LinkedIn 上数据驱动的特征实际上是由几十个 Azkaban Apache Oozie 管理的 Hadoop Job 工作流产生的。理解工作流中各个 Job 之间的关系并且管理工作流手册成为了一项难点。例如,为了指定 LinkedIn 上运行的一些处理大数据的工作流,需要用到非常多的 Job 文件,工程师为此写了几个内部开发的工具以便更简单地处理工作流。然而这些工具都是使用了 Ant、Maven 和 Ruby 混合编成,这就阻碍了全公司上下全面采用 Gradle 的进程。随着时间的推移,系统变得越来越脆弱,维护也变得越来越困难。为了解决以上问题,LinkedIn 开发了 Hadoop DSL。

Hadoop DSL 是一个基于特定领域的嵌入式 Groovy 语言,开发者可以在 DSL 中随意使用 Groovy 或 Java。它有着自然语言的结构,适用于特定的 Job 和诸如 Azkaban、Apache Oozie 等 Hadoop 工作流管理器。另外,DSL 是静态编译的,因此也可以进行静态检查。静态检查器可以在编译时检查出工作流文件中的常见问题,这样就避免了在运行 Hadoop 工作流几个小时后才报出错误。

Gradle 和 Hadoop DSL 已经成为了 LinkedIn 开发 Hadoop 工作流的标准工具。源代码在 GitHub 上。


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-08-28 19:003941
用户头像

发布了 268 篇内容, 共 118.0 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

区块链电子发票的多维创新与变革效应

CECBC

电子税务

Dubbo快速入门

青年IT男

dubbo

聪明人的训练(二十五)

Changing Lin

4月日更

Dubbo 服务配置

青年IT男

dubbo

源中瑞区块链BaaS平台搭建,为企业开发应用提供技术支撑

源中瑞-龙先生

区块链 源中瑞 Baas

小白也能看懂的操作系统之内存

程序猿阿星

操作系统 内存 内存管理 内存优化

What's new in dubbo-go v1.5.6

阿里巴巴云原生

开发者 云原生 dubbo 中间件 Go 语言

几个快速提升工作效率的小工具(Listary等)分享一下(强烈建议收藏)

码农飞哥

Dubbo 集群容错

青年IT男

dubbo

2021最全网页视频下载攻略 【建议收藏】

科技猫

软件 工具 网站 分享 视频处理

Dubbo 服务注册与发现

青年IT男

dubbo

MySQL事务机制是如何实现的?

冰河

MySQL 事务 Binlog Redo Log Undo Log

postman的url编码问题

箭上有毒

4月日更

ISO/IEC 5055:软件代码质量的标尺

华为云开发者联盟

软件 代码质量 源代码 ISO/IEC 软件质量模型

Leveldb解读之四:Compaction

Jowin

leveldb

一念三年,心机流转|靠谱点评

无量靠谱

Redis 持久化

叶佳欣

redis持久化

截图软件Snipaste超好用的贴图功能,在别的软件也能拥有 | 窗口置顶工具

彭宏豪95

效率 工具 windows 4月日更 窗口置顶

2.7w字!Java基础面试题/知识点总结!(2021 最新版)

JavaGuide

Java 面试

区块链链接能源:到底是乌托邦愿景还是未来蓝图?

CECBC

能源

Dubbo 服务启动检查

青年IT男

dubbo

Dubbo 直连提供者

青年IT男

dubbo

把黄金圣衣交给圣斗士:HDC.Cloud 2021的硬核春天

脑极体

稻盛和夫的管理绝活:阿米巴经营模式

石云升

团队建设 28天写作 职场经验 管理经验 4月日更

前端架构演进 - 从单体到微前端(理论篇)

Teobler

大前端 架构演进

身边的最优化问题

PeterOne

人工智能 算法

Dubbo 四大角色

青年IT男

dubbo

KubeFed集群联邦

ilinux

Kubernetes 容器 云原生 kubernetes联邦

如何运用“区块链”,让档案数据管理更安全

CECBC

数据安全

Python基础语法和数据类型最全总结

华为云开发者联盟

Python

Dubbo 入门简介

青年IT男

dubbo

LinkedIn开源高可用Hadoop工具集Gradle_Java_张天雷_InfoQ精选文章