Twill,原名为Weave,现在已经成为Apache Incubator项目的新成员之一,其设计目的在于简化应用程序在YARN/Hadoop中的运行。
hadoop如今已经成为一项引人注目的技术方案,这一点几乎已经没有疑问。该项目的成功随着其2.0版本的发布而进一步扩展,新近引入的YARN能够帮助几乎所有应用程序——而不只是与Hadoop相关的常用MapReduce作业类应用——以更为简便的方式发布在Hadoop集群之上。
不过问题仍然存在,最麻烦的情况之一在于配合YARN之后Hadoop开始变得很难被正常使用。通过YARN运行的应用程序必须以自己独特的方式进行跨平台通信或者处理错误,这实在让管理人员们感到有些头痛。
作为Hadoop阵营的一位主要参与者,来自Continuuity的技术人员们认为有必要推出他们自己的一套库——这套库集被称为Weave——旨在大大简化将应用程序导向YARN并使其顺利运行的难度。在初步目标取得成功后,他们决定再接再厉,将Weave打造成一个更大、更具行业影响力的项目,有鉴于此,Weave被提交给Apache Incubator,作为培植项目之一继续健康发展。自此开始,Weave拥有了自己的全新生命、并开始作为Apache项目登上新的高峰——这就是我们今天文章的主角,Apache Twill。
当与Continuuity公司CEO John Gray进行交流时,问到他们为什么会主动作出这样的决定,即将自己的项目交到Apache手中。对方的回答很简单:社区。
“当我们最初推出Weave时,”他告诉我,“原本是将其通过GitHub进行推广的。然而在GitHub上,针对开源的成果消费势头很强、但贡献却相对少很多。这并不是个由社区创建的网站;它非常适合作为成果的共享平台,但却并不适合作为社区建设的基础。”相比之下,Apache的处理方式更符合我们的预期流程,即将一款软件打造成用户社区的明确中心。
“开源的可选方式多种多样,但我们希望Twill能够真正被采用、扩展并最终适应社区的实际需求。”
就目前来看,大部分这类需求都围绕着由Java所编写的应用程序;不过目前项目已经迎来了新设想,希望在未来让Twill具备直接支持其它语言在JVM当中运行的能力。举例来说,Python就是种可能性很高的候选语言——不过Gray认为这项工作最好是由社区中的某些成员来完成,例如那些供职于Python企业的技术人员。
不过关于Twill,最普遍的理念是进一步扩展所面向应用程序的适用范围。“Hadoop与YARN的主要使用方仍然是MapReduce,”Gray表示。“但Twill能够帮助大量并未通过MapReduce所开发出的开源应用。”而这反过来又将有助于推动对YARN的转变要求、同时塑造这款框架的未来发展方向。