/ 中存储网

浅谈大规模Hadoop集群自动化部署与运维

2013-11-21 12:15:00 来源:中存储网

2013年11月22-23日,作为国内唯一专注于Hadoop技术与应用分享的大规模行业盛会,2013 Hadoop中国技术峰会(China Hadoop Summit 2013)于北京福朋喜来登集团酒店隆重举行。来自国内外各行业领域的近千名CIO、CTO、架构师、IT经理、咨询顾问、工程师、Hadoop技术爱好者,以及从事Hadoop研究与推广的IT厂商和技术专家将共襄盛举。

Hadoop中国技术峰会由China Hadoop Summit专家委员会主办,由IT168、ITPUB、ChinaUnix协办,渠达传媒负责承办。本届大会将秉承“效能、应用、创新”为主题,旨在通过开放、广泛的分享和交流,着力于促进中国企业用户提高应用Hadoop的能力和水平,降低Hadoop技术应用门槛和投资预算门槛,推广大数据的应用价值。笔者目前所在的是主题论坛一:架构与实践,下面为大家带来主题演讲的是北京数衡科技技术总监、EasyHadoop软件和PhpHiveAdmin作者及暴风影音开发经理向磊,他演讲的题目是《浅谈大规模Hadoop集群的自动化部署与运维》。以下为向磊的演讲实录。

Hadoop的部署是个麻烦事

Hadoop的落地问题。就像我开篇第一个讲的,大数据很多企业都谈论这个事,真正应用落地的,目前为止,我知道的可能有实际运营能力的,都是集中在互联网企业里。其他的企业如果想用到大数据的技术,其实是比较难的。因为不光是它部署起来很麻烦,还有后期运营的维护的问题。实际上分布式集群最难的地方是在后期的维护上面,去年参加阿里云大赛时候,听淘宝人讲,他们有很大集群的规模,当你的服务器集群数量达到五千台以上时候,每天硬盘的运行率大概是99.6%以上,所以不光是要求对Hadoop了解,同时还要求对网络知识。他们说,Hadoop的运维是非常复杂的事,安装并不是很复杂的事,使用和维护才是真正的难题。所以我们想办法解决自动化运维的事。

Hadoop的整个的生态系统,并不是所见即所得的东西。基本上大多数的软件都是运行在命令行的状态下的。所以对于很多用户来说,他们无法去使用,即使是我们自己内部,互联网公司内部的人来说,让他们在命令行里打东西,比如搞产品,搞运营的人,让他们这样做是不太现实的事,所以这是Hadoop整个生态系统使用上的问题。

已应用的开发,数据应用,数据分析和数据挖掘开发,既要熟悉本公司的业务,同时还要熟悉Hadoop,这是比较复杂的事了。这是Hadoop在真正落地上,我认为几个关键的点。跟一些企业的负责人私下里说的话,企业真正考虑的不是说,可能大型企业考虑更多的不是说这个东西有没有用,而是出了问题以后谁来“背黑锅”。

  Hadoop的运维水很深

Hadoop本身一个运维,从我这几年运维Hadoop经验来说,这里面的水很深的,坑比较多,我们自己也是一步一步走过来的。Linux本身是一个障碍,不能所有的人会使用Linux的命令行。你会遇到各种各样的问题,JVM也会有bug,也可能是Hadoop的,也可能是分析语言的脚本的。可能连JDK也会有Bug的。Hadoop Log对用户本身来说是很大的一个挑战,要去解决你所遇到的问题,就要去看日志,去分析Hadoop的一个源码,排错,这些是最考验人的事。

中间会遇到很多的问题。VPN、VLAN、Route、Switch的问题。还有一些算法,我们遇到过很严重的鼓掌,最后一查下来,Hadoop的日志里面,什么都没有记。最后我们从操作系统Syslog里抓出来的gdb系列。Hadoop是很大的生态系统源码,各种日志,都是能把人活活逼死的。因为Hadoop本身是大数据的生产者。我们的集群上每个服务器大概都要生产出两个G左右的日志。Hadoop自己也是大数据的生产者,要解决Hadoop的问题,就需要去分析整个Hadoop的日志。

我个人的一个看法,Hadoop以及Hadoop整个的周边生态,不管是哪家公司,增加整个一个Hadoop生态系统的应用性,对用户的友好性才是最重要的事。不能让一个金凤凰总是停留在梧桐枝上,还是需要她飞下来走向千家万户的。我们自己有开源世界,找到开源的东西,找到各种排列组合,加上自主研发的东西,我们自己会进入大数据的一个世界。

  Hadoop生态,增加易用性是王道

下面我讲一下大数据所见即所得,也是我们整个团队开源的所有的东西。我非常支持一个观点,我们是百分之百开源的。这个也是我们阿帕奇项目一个代码的贡献者,Hadoop生态,增加易用性是王道。我们直接开放给所有的产品人员和运营人员用,他们可以减少我们自己做的压力,他们可以自己上去。这是史东杰做的phpHbase,这个是阿帕奇项目的一个Ella.可以看到我们的数据量很大,也是对访问列表的监控,对Hot Regant做的。

Hadoop自己也是大数据的产生者,如何分析Hadoop自己的日志?hunk东西是收费的,我们实现了一个功能,和Hadoop是很类似的。开源的东西是很多等着大家挖掘的,他们其实并不难。我们做的Hadoop的一个共同建设空间项目,会有一个跨省的Hadoop的集群的运维和提交计算任务。

关于开源,我们所有人都是在使用开源的。自己也会把自己写的东西开源出来贡献给大家,同时我们也鼓励更多的人做一个开源的事。程序员真的是可以改变世界的,只要你有一个想法,不管这个想法多大,可以去改变世界。最后是摘自SQLite的一个期盼,希望你行善不为恶,希望你恕技亦恕人,希望你自由地共享,希望你永远不要索取甚于付出。