Hadoop中的集群配置和使用技巧
本文介绍了Hadoop如何配置分布式框架运行环境,同时特别讲解了其中的一些细节。Hadoop可以单机跑,也可以配置集群跑,这里主要重点说一下集群配置运行的过程。本文是Hadoop入门实践三部曲的第二部。
- Java,
作者 Steven Robbins译者 孙涛 发布于 2008年4月8日 上午4时44分
Peter Svensson、Ganesh Prasad和Mario Valente最近联合组建了一个名为Thin Server Architecture的工作组,并为此工作组建立了网站。网站主要包括有关瘦服务器架构(Thin Server Architecture ,TSA)和面向服务的前端应用(Service Oriented Front End Applications,SOFEA) 的一些资源及关于这两项技术一些有见地的观点和讨论。
TSA、SOFEA和其他一些相关的技术主要目的是为了将客户端和服务器端的关注点进行分离,尽量将有关“视图”的代码放在客户端。这种架构风格主要有三方面正面效应:
1. 服务端开发工程师可以将精力集中于业务逻辑。
2. 由于客户端被分离开发,程序开发的复杂性降低。
3. 服务器端和客户端的通过通讯协议进行通讯,同时为其他系统或者未来的系统(SOA)进行数据导入、导出与展示都是通过协议进行。
工作组网站的文章区主要包括三个作者的相关信息和他们写的一些文章。其中有Ganesh Prasad、Rajat Taneja和Vikrant Todanka合著的文章《服务层以上的生活》(Life Above the Service Tier), 这是一篇关于SOFEA 的开创性论文。此外,文章区还有Peter的系列文章《穷途末路的Web框架》(The End of Web Frameworks)和Mario的系列文章《Web应用的未来》(Future of Web Applications)。此网站的所有内容都服务于将客户端本该做的事情交还给客户端这个主题。这个演讲也对瘦服务器模型的背景和优势进行了探讨。
网站的资源区列举了实现其他一些可用于创建基于web应用的瘦服务器端技术。里边既有一些有关IDE的内容,也有开发和运行时方面的一些资源。此部分列举的开发技术包括GWT、XUL、SilverLight/XAML和Adobe Flex,它们被分作以下几类:
Ganesh指出TSA和SOFEA主要目的是为了淘汰服务器端驱动的开发方式。这样使客户端在视图方面有更灵活的选择,它可以是瘦客户端、富客户端 或者是介于两者之间的客户端。他还提到,客户端的部署机制(在SOFEA称作“应用下载(Application Download)”)的选择在TSA架构风格中占据着很重的分量。Mario和Peter已经对多种TSA风格的技术进行过开发实践,他们认为其中的领跑者是Dojo 1.x, AppJet , jQuery 和JavascriptMVC等Ajax/JavaScript技术。
似乎所有三个作者都认为,TSA和SOFEA的推广过程中遇到的最大的障碍是程序员们的不适应。这是因为目前瘦服务端应用的开发缺乏IDE集成开发工具的支持,它往往要求开发人员学习全新的语言和技术。不过,服务器端JavaScript技术在这个方面已经有了新进展,其中已经允许在TSA风格的应用中进行语言整合。
本文介绍了Hadoop如何配置分布式框架运行环境,同时特别讲解了其中的一些细节。Hadoop可以单机跑,也可以配置集群跑,这里主要重点说一下集群配置运行的过程。本文是Hadoop入门实践三部曲的第二部。
Ruby的开放类(Open Classes)功能强大,但很容易被误用。这篇文章关注于怎样减少使用开放类的风险,介绍了一些其他可替代的类似方法,并分析了其他语言如何实现类似的功能。
在本文中,Stefan Tilkov讲解了一些经常出现在自称“符合REST式设计”的应用中的反模式(比如:全部采用GET或POST,忽视缓存及响应代码,误用cookies,忘记超媒体与MIME类型,以及破坏自描述性等),并给出了避免这些反模式的对策。
Hadoop是Apache开源组织的一个分布式计算开源框架,在很多大型网站上都已经得到了应用,如亚马逊、Facebook和Yahoo等等。本文是Hadoop入门实践三部曲的第一部,主要讲述了What和Why的问题。
本文结合37 Signals公司在开发Basecamp等产品时的实践,介绍了实用最小主义开发方法。实践证明,尤其是在开发Web应用时,这一方法非常有效。根据作者的观察,Google现在之所以那么成功,其所遵循的软件开发哲学和最小实用主义非常类似。
在今年5月份的网侠大会上,InfoQ中文站有幸与国内OSGi的先锋林昊(BlueDavy)在一起探讨了OSGi的相关话题,包括它的优势、复杂度以及Java下的实现等等。
Robert Pickering在F#的第三篇文章中,他继续着上次的话题,不过这次他要关注的是异步工作流(Asynchronous Workflows),以及在使用这个特性后获得的性能改善。虽然这篇文章是关于F#的,但是这样的知识对于所有的.NET语言都是适用的。
没有回复
回复