你好,游客 登录 注册 搜索
背景:
阅读新闻

Netflix发布Genie3

[日期:2017-07-17] 来源:infoq.com  作者:Dylan Raithel ,译者 蔡芳芳 [字体: ]

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还支持基于OAuth2X.509公钥证书。

查看英文原文:Netflix Announces Genie 3

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-07/145736.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款