写点什么

Netflix 发布 Genie3

  • 2017-07-16
  • 本文字数:946 字

    阅读完需:约 3 分钟

Genie 是一个分布式的 RESTful 架构的任务编排引擎,用于 Netflix 的数据平台。Genie 有两个主要使用场景:第一个是创建和提交自定义的数据处理任务请求,其次是设置本地环境来开发和测试在 Genie 集群上运行的新应用程序和任务。

Netflix 宣布 Genie3 支持几项新特性,包括对较早的任务执行引擎进行重新设计、增强安全功能、增加依赖关系缓存,同时API 也有更新。

Genie 引擎的早期版本不支持领导选举,导致工作节点不必要地执行相同的任务。现在,通过 Zookeeper 或手动配置属性设置单个节点的 IP 地址即可支持集群领导选举。早期版本中所有任务的单一运行脚本运行时间过长,无法满足安全隔离的要求,并降低了在项目扩张阶段项目维护者引入代码更改时隔离风险的能力。Genie3 引入新的方法,使用改进的数据模型来保证运行时间并实现了配置的模块化、描述性和版本化。

在 Genie3 中,任务由若干抽象过程组成,以确保可扩展性。应用程序的运行时间和可执行命令可以通过其API 进行配置。Genie 独立于特定运行时配置或待处理数据,生成Spark、Hadoop、Pig、Hive、PrestoDB 和Sqoop 等类型的应用程序运行脚本。作为开发人员,本地模式工作流能够为不同运行时生成运行脚本,同时还集成了REPL 和stdout 的底层实现以支持测试和开发。

Genie3 的 API 组件覆盖了 Genie 的全部功能。

集群 API、命令 API、应用 API 和作业 API 提供了操作 Genie3 所需的语义。集群 API 负责管理 Genie 的逻辑 worker 集群,不包括基础架构本身。集群 API 还协助管理集群相关的元数据、启动时 worker 集群的基准状态、可用于集群的命令和基准包的安装。从这一点来看它与 Puppet 或 Chef 类似,只是它专注于 Genie 应用程序命令在运行时所需的工作集群的特定安装包和配置。这样可以使应用程序在启动时更加灵活、不受限制,否则应用程序就需要在启动时下载并安装依赖包。

命令 API 的语义在底层应用程序上运行,并且必须指向特定应用程序,但允许定义自己的启动和运行时配置。

作业 API 允许 Genie 用户调度或执行一组命令,并跟踪有关作业执行状态的数据。Genie3 附带了用于 MySql、PostgreSQL 和 HSQLDB 的 JDBC 驱动程序,用于支持 Genie 及其 API 的存储配置。

Genie 3 还支持基于 OAuth2 X.509 公钥证书。

查看英文原文: Netflix Announces Genie 3

感谢张卫滨对本文的审校。

2017-07-16 18:423134
用户头像
蔡芳芳 InfoQ主编

发布了 801 篇内容, 共 562.2 次阅读, 收获喜欢 2794 次。

关注

评论

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

【算法实践】| 手把手带你实现快速排序算法

迷彩

快速排序 算法实践 8月月更

最新版MySQL8 绝对有用的lag函数实现同比、环比、均差计算

知识浅谈

MySQL 8月月更

【LeetCode】合并区间Java题解

Albert

LeetCode 8月月更

Latex安装教程(附美赛论文latex模板)

乌龟哥哥

8月月更

灵活多样认证授权,零开发投入保障IoT安全

EMQ映云科技

安全 物联网 认证授权 emqx 8月月更

一次客户需求引发的K8S网络探究

京东科技开发者

k8s 中台架构 #k8s K8s 多集群管理 数据库·

基于高效采样算法的时序图神经网络系统(一)

Baihai IDP

人工智能 神经网络 深度学习 图数据

头脑风暴:最大子序和

HelloWorld杰少

数据结构 算法 LeetCode 8月月更

基于STM32L431设计的云端绿化管理系统(ESP8266+腾讯物联网云平台)

DS小龙哥

8月月更

“副业焦虑”席卷Z世代,今天你的副业失败了吗?

博文视点Broadview

云原生数据库白皮书,发布!

华为云开发者联盟

数据库 云原生 后端 华为云 白皮书

SpringBoot 整合 Junit

springboot junit5 8月月更

Excelize 发布 2.6.1 版本更新,支持工作簿加密保护

xuri

开源 数据分析 Go 语言 Excelize Excel工具

易周金融分析 | Q2手机银行活跃用户环比增长2.17%

易观分析

金融 手机银行

芯声智能亮相亚洲智能穿戴展,智能头盔声学方案为骑手保驾护航

硬科技星球

软件测试中的树莓酱定律

BY林子

软件测试 敏捷测试 质量内建

阿里云林小平:如何实现应用的持续发布?

阿里云弹性计算

持续发布 应用 自动化运维

动态尺寸模型优化实践之Shape Constraint IR Part II

阿里云大数据AI技术

深度学习 编译器 优化

什么是公共云、私有云、混合云、社区云,四者分别有啥区别?

wljslmz

云计算 8月月更

Web3 的通行证——DID 带来数字身份革命

One Block Community

golang实战之flag包

程序员欣宸

golang 8月月更

[JS真好玩] 遇到表格,手动翻页太麻烦?我教你写脚本,一页展示所有数据

HullQin

CSS JavaScript html 前端 8月月更

【Gopher 学个函数】边学边练,简单为 Go 上个分

梦想橡皮擦

Python 爬虫 8月月更

Curve Testing Camp Time|万元大奖等你来拿!

张慧

分布式存储 curve

收到面试通知后,如下的准备可以大大提升面试成功率

TimeFriends

8月月更

架构实战营 毕业总结

Gor

机器学习服务文本翻译能力升级,中文直译模型让译文表达更地道!

HarmonyOS SDK

数据治理(六):编译Atlas安装包

Lansonli

数据治理 8月月更

一对一语音直播系统源码——如何解决音视频直播技术难点

开源直播系统源码

软件开发 直播系统源码 语音直播系统源码 语音直播源码 一对一语音直播

企业分账如何帮助用户解决成本优化和预算分配的问题

阿里巴巴中间件

阿里云 Serverless 云原生 SAE

PingCode 权限系统设计与实现

PingCode研发中心

权限系统

Netflix发布Genie3_大数据_Dylan Raithel_InfoQ精选文章