写点什么

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:423420
用户头像
蔡芳芳 InfoQ主编

发布了 804 篇内容, 共 587.2 次阅读, 收获喜欢 2804 次。

关注

评论

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

kafka 原理深度剖析系列|调优策略

云智慧AIOps社区

Java kafka 架构 消息队列 消息中间件

Hive窗口函数/分析函数详解

五分钟学大数据

hive 1月月更

WGCLOUD和zabbix、prometheus(普罗米修斯)有什么区别

王逅逅

服务器部署 运维平台 zabbix Prometheus linux security

2022 年前端工程师进阶必知必会

开源之巅

Serverless

Linux之grep命令

入门小站

Linux

云平台和云管平台的三大区别详细解析-行云管家

行云管家

云计算 云服务 云平台 云管平台

SQL基于时间的盲注过程

喀拉峻

网络安全

Java自定义DNS解析器三种实践

FunTester

Java 性能测试 DNS FunTester 自定义DNS

书单 | 致敬计算机视觉领域经典著作!

博文视点Broadview

使用CodeMirror打造数据科学家使用的IDE(一)

Baihai IDP

人工智能 ide 数据科学 CodeMirror

再获认可 | 优麒麟荣获“最佳技术社区运营”奖

优麒麟

Linux InfoQ 2022 优麒麟

在线TOML转YAML工具

入门小站

工具

【架构训练营模块一作业】微信业务架构图 & 学生管理系统

yhjhero

架构实战营

kafka 原理深度剖析系列|分区分配策略

云智慧AIOps社区

Java kafka 架构 中间件 消息队列

10倍!BoostKit鲲鹏全局缓存3大创新技术助力Ceph性能提升

华为云开发者联盟

Ceph 鲲鹏 BoostKit鲲鹏全局缓存技术 BoostKit 全局缓存

虎啸龙吟之国产数据库风云榜-2022年01月

墨天轮

数据库 国产数据库

2022 福虎芯旺 | 旺链科技新春线上年会回顾

旺链科技

区块链 产业区块链 年会

写给Android开发者的芯片知识

轻口味

人工智能 android 行业资讯 芯片 1月月更

Spark性能调优-RDD算子调优

五分钟学大数据

spark 1月月更

剖析CWE视图的层次定义和解析方式

华为云开发者联盟

存储 视图 cwe CWE节点 CWE视图

你会几种读取/加载 properties配置文件方法

华为云开发者联盟

Java 开发 ClassLoader properties 配置文件

2022年运维工程师必备利器-云管平台

行云管家

云计算 运维 云管平台 2022

超赞:不愧是“阿里内部Redis学习笔记”从头到尾,全是精华

碌碌无为小码农

Java 面试 程序人生 编程语言 经验分享

源码深度剖析:Eureka与Ribbon是怎么做服务发现的?

碌碌无为小码农

Java 架构 程序人生 编程语言 经验分享

多协议接入框架 xRPC 发布在即,为你解读更多 APISIX 生态细节

API7.ai 技术团队

后端开发 api 网关 后端技术 后端数据

深入浅出 Apache Pulsar(5)Pulsar Connectors

云智慧AIOps社区

Java kafka 云原生 消息中间件 Apache Pulsar 消息系统

我为InfoQ编辑器提意见

坚果

1月月更

微信业务架构 & 学生管理系统架构设计

王大胖

ReactNative进阶(三十三):Mac 下 homebrew 的安装和 brew 命令的使用

No Silver Bullet

homebrew React Native 1月月更

做了5年后端研发,靠着这份面试题跟答案,我从12K变成了30K

碌碌无为小码农

Java 架构 程序人生 编程语言 经验分享

Think in Mingdao——人人都是全栈工程师

明道云

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