写点什么

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:004314
用户头像

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

关注

评论

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

linux下redis 扩内存相关命令

威哥爱编程

redis Linux

Spark任务OOM问题如何解决?

威哥爱编程

spark OOM

年轻,也是求职面试的优势

老张

核心竞争力 面试技巧 求职面试 职场晋升

线上事故风险解读之缓存篇

巧手打字通

redis 缓存 架构 事故 经验总结

虚拟定位软件:AnyGo for Mac 6.9.5免激活版

你的猪会飞吗

AnyGo下载 AnyGo激活版 AnyGo for Mac AnyGo 中文破解

抖音商品SKU数据API:解锁电商数据分析新篇章

代码忍者

pinduoduo API API 性能测试

误删GreatSQL数据?别慌,Binlog来帮忙

GreatSQL

洞察市场趋势,实时监控商品信息是关键 —— 淘宝API的实践探索

技术冰糖葫芦

API 接口 API 文档 API 测试 API 性能测试

一种基于alpine、支持ARM架构64位的镜像构建方法及其构建系统

天翼云开发者社区

云计算 arm

OpenAPI 简介

天翼云开发者社区

网络安全 服务器 API 接口

1688跨境代采业务api接口全解析

代码忍者

pinduoduo API API 性能测试

Navicat Premium 17.1.3版本发布,原生支持华为云数据仓库GaussDB(DWS)

华为云开发者联盟

数据仓库 GaussDB Navicat Premium

OpenHarmony社区开源4年累计产出1.1亿多行代码

科技热闻

大语言模型 LLM 管理功能特点解析示例

Botnow

AIGC 模型管理 模型服务 大模型推理 Botnow

蒲城等保测评机构有哪些?在哪里?

行云管家

等保 等级保护 蒲城

6个最佳核心应用仪表盘构建工具

NocoBase

数据挖掘 数据分析 数据可视化 仪表盘

进程,线程,协程 - 你了解多少?

蛋先生DX

线程 操作系统 进程 协程 上下文

寻趣“6”朝古都 MAZDA EZ-6开启金陵CITY WALK

科技热闻

捷途山海 T2:安全先锋,守护每一段旅程

科技热闻

老板:你来弄个团队代码提交规范

禅道项目管理

程序员 DevOps 项目管理软件 代码提交规范 测试团队

企业运维安全方法看这里-行云管家

行云管家

堡垒机 IT运维 企业运维 运维安全

阿里云 EMR Serverless Spark 版正式开启商业化

阿里云大数据AI技术

大数据 spark Serverless 云原生 EMR

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