给刚玩Hadoop的朋友一些建议

随着两会中间央视新闻天天说大数据,很多人纷纷开始关注大数据和Hadoop以及数据挖掘和数据可视化了,我现在创业,遇到很多传统数据行业往Hadoop上面去转型的公司和个人,提了很多问题,大多数问题还都是差不多的。所以我想整理一些,也可能是很多人都关注的问题。

关于Hadoop版本的选择?

目前为止,作为半只脚迈进Hadoop大门的人,我建议大家还是选择Hadoop 1.x用。可能很多人会说,Hadoop都出到2.4,为啥还用1.x呢,说这话一听就没玩过hadoop。

理由一: Hadoop 1.x和2.x是完全两个不同的东西,并不是像说单机的webserver从1.0升级到2.0那么简单的事情。也不是说我现在用的mysql 5.0,只要编译一个新版本就直接无缝迁移到5.5的事情。Hadoop从1.0过度到2.0是整个架构体系全部推翻重写的。从实现方式到用户接口完全是两个完全不同的东西,不要简单的认为那不过就像nginx从0.8升级到1.4一样。所以我给的建议是,生产环境用1.x,实验环境部署2.x作为熟悉使用。

理由二: 依然是,Hadoop不是webserver,分布式系统尽管Hadoop实现出来了,但是他仍然是非常复杂的一套体系,单说HDFS存储,以前Hadoop 0.20.2想升级到0.20.203,首先你需要在所有节点部署上新版的Hadoop,然后停止整个集群的所有服务,做好元数据备份,然后做HDFS升级,还不能保证HDFS一定能升级成功。这样升级一次的代价是很大的,停服务不说,万一升级不成功能不能保证元数据完整无误都是不可预知的。远比你想象的麻烦的多得多得多。千万不要以为有了Cloudera Manager或者其他管理软件你就真的可以自动化运维了,部署Hadoop只是万里长征的第一步而已。

理由三: Hadoop 2.x目前很不稳定,Bug比较多,更新迭代速度太快,如果你想选择2.x,想清楚再做决定,这玩意不是说你选择新的版本就万无一失了,Openssl多少年了,还出现了心脏滴血的漏洞,何况刚出来才不到一年的Hadoop2,要知道,Hadoop升级到1.0用了差不多7,8年的时间,而且经过了无数大公司包括Yahoo,Facebook,BAT这样的公司不停的更新,修补,才稳定下来。Hadoop2才出现不到一年,根本没有经过长期稳定的测试和运行,看最近Hadoop从2.3升级到2.4只用了一个半月,就修复了400多个bug。

所以,不建议大家现在直接在生产集群就上2.x,再等等看吧,等稳定了再上也不迟。如果大家关注Apache JIRA的话,可以看到Hadoop 3.0已经开始内部bug跟踪了。

关于Hadoop的人才?

我觉得企业需要从两个方面来考虑hadoop的人才问题,一个是开发人才,一个是维护人才。

开发人才目前比较匮乏,基本都集中在互联网,但这个是一个在相对短时间内能解决的事情,随着Hadoop培训的普及和传播。以及Hadoop本身在接口方面的完善,这样的人才会越来越多。

维护人才我觉得互联网外的行业一段时间内基本不用考虑,不是太多了,而是根本没有。Hadoop和云计算最后拼的就是运维,大规模分布式系统的运维人才极难培养。特别是DevOps,本身DevOps就很稀缺,而在稀缺人才中大部分又是用puppet, fabric去搞web运维的,转向分布式系统运维难度还是有的。所以这种人才很难招聘,也很难培养。参看左耳朵耗子的InfoQ访谈 http://www.infoq.com/cn/articles/chenhao-on-cloud

然后你需要明确自己想要的开发人才类型,打个比方Hadoop就好象是windows或者linux操作系统,在这个操作系统上,既可以用photoshop画图,又可以用3dmax做动画,也可以用Office处理表格,但是应用软件所实现的目的是不一样的。这还是需要CTO,CIO对大数据和Hadoop及周边应用有个起码的了解。不要把Hadoop跟mysql php或者传统的J2EE做类比,认为没什么难的,大不了外包。完全不是这么回事。

关于Hadoop的培训内容?

经过几家企业的Hadoop内部培训,我发现刚转型企业都有一个问题是贪多。想做一次培训把hadoop和周边所有东西都了解透了,比较典型的是我最近去上海培训的一个公司,从Hadoop到HBase到Mahout到分词到Spark Storm全要听。然后培训机构就只能找几个老师分别讲不同的内容,我觉得这种培训对企业的意义不大,顶多就是给员工一个扎堆睡午觉的机会。

第一、Hadoop就不是一两次讲课就能搞明白的东西,除了理论知识,还需要大量的实践经验的支持。

第二、每个Hadoop生态组件都是一个很复杂的玩意,使用确实简单,但是要真正理解每一个组件没那么容易。尤其是Mahout,Spark,R这些涉及大量统计学和数学理论的玩意,你叫一帮搞产品的,毫无编程和统计学背景的人来听课,他们真的只能睡午觉,我都觉得让他们过来听Hadoop是很残忍的事情,明明听不懂,因为领导在旁边,还不得不努力坚持不睡觉。

第三、每个人擅长的领域不同,没有任何一个老师既能讲Windows服务器运维,又能讲Excal高级技巧还能讲3DMax动画PhotoShop绘图的。而培训机构为了抢单,往往承诺企业找几个老师一起讲,企业也往往觉得,一样的价格,我把所有都听了,多爽啊。其实不然,每个老师的讲课风格,知识点水平,内容设计都是不同的,鸡肉,面粉,蔬菜放在一起不一定是大盘鸡和皮带面,也很有可能是方便面,最后搞得食之无味弃之可惜。所以企业在选择做培训的时候一定要有的放矢,不要搞大而全,浪费资源不说,还毫无效果。可以分开几种不同的培训方向,找不同的,专业性强的培训机构来完成。当然,这也需要CTO,CIO具有一定的想法和眼光,更多的是,起码你作为领导者,应该比别人了解的更多一点,不是说技术细节上的,而是技术方向上的把握要比员工更精准。

关于与传统业务的对接?

这个也是很多人关心的,特别是传统企业,之前用的是Oracle,大量的数据存放在里面,一下子用Hadoop替代是不可能的。这个我觉得就属于想多了,Hadoop说白了是离线分析处理工具,目的不是代替你的数据库,事实上也根本不可能代替关系型数据库。他所作的是关系型数据库做不了的脏活累活,是原有业务架构的补充,而不是替换者。

而且这种辅助和替换是逐步完成的,不能一蹴而就,在我所认知的范围内,没有任何一家公司上来就说我直接把mysql不用了,直接上Hadoop,碰上这样的,我首先会赞叹他的决心,然后我拒绝给他出方案,我会明确告诉他,这样是不可能的。

Hadoop提供了多种工具给大家做传统数据库业务的对接,除了sqoop,你还可以自己写,Hadoop接口很简单的,JDBC接口也很简单的。

时间: 2024-10-02 11:08:31

给刚玩Hadoop的朋友一些建议的相关文章

长时间玩电脑的几点建议

长时间玩电脑的几点建议 都知道长时间玩电脑对身体健康不利,但是又不知道该怎么办,今天告诉你长时间玩电脑的几点建议,希望对你有所帮助! 一.玩电脑双脚别交叉 坐姿应以舒服为宜.一般电脑桌下膝盖处形成直角;大腿和后背形成直角;手臂在肘关节形成直角.肩胛骨靠在椅背上,双肩放下,下巴不要靠近脖子,眼睛与屏幕的距离应在40-50厘米.此外,电脑椅高度很重要,椅座稍硬,高度以膝盖能自然弯曲90度或略向前倾.脚平放于地面为宜.将显示器中心位置安装在与胸部同一水平线上,座下有足够的空间伸放双脚,不要交叉双脚,以

给刚入门的程序员五点建议

每个IT企业,尤其是初创企业,非常苦恼:找不到好的程序员.现在大学.软件学院及各种培训机构,每年培养几十万的程序员,毕业的每个人都有同样困恼:找不到好的工作.问题出在哪里呢?其实,企业需要的是不是刚会写程序的人,需要来了就能干活的人,尤其能把活干好的人.而刚毕业的大学生多半刚学会如何写程序,的确很难企业需求. 企业到底需要什么样的程序员,一个刚入门的程序员如何成为企业需要的高手呢?还有很多程序员问我,“我需要具备什么样的能力就可以去创业?”我一直在琢磨类似的问题.我自己写过十年程序,也在金山管理

第三章 给自学者和JAVA培训机构学员的朋友的建议(怎样获得学习资料)

接下来的两段是废话,请在无聊时阅读. 自学往往无门,很多自学的人因为没有正确的方向,往往在门口徘徊很久而不入,甚至走偏了方向,这对于个人的成长是不利的,对于学习的热情也会有挫折. 培训的学员往往有正确的道路,并且往往是最有效的道路.但是由于老师的包办,培训出来的人往往是温室的花朵,离开了温室就变得脆弱.一切的环境配置.软件版本都是别人给好的,一切都很顺利.但是根本不知道为什么. 我想这也是很多人徘徊在中文博客的原因,渴望得到别人的经验,易懂的易用的经验,有效的经验. 我上的大学,软件工程专业是校

发布开源基于yii2适合初级php开发者刚入门yii2的朋友的cms系统

时间:2018年10月26日晚8点54分49秒 事件:历时一段时间加上自己的拖延症,终于决定发布JCYCMS 1.0版本啦(此处应该有掌声)! 注意事项: 1.目前发布的这个版本权限配置尚未完成,因此提供出来的账号只能看到很少的菜单,后期时间会完善. 2.系统扔处于开发阶段,未完成的和问题肯定会有,小的我发布出来的原因是 得到外界的反馈,吸取经验,提高代码质量.... 3.由于后期完善时间不确定,有朋友想看后台很完善的功能的,qq:2064320087,我会给出管理员账号.需要者且不能随意删除重

firefox常用插件总结

当初因为ctf比赛而接触啦firefox,慢慢的在firfox上安装满啦各种插件,今天就想着总结一下,给那些刚玩firefox的朋友一些小小的帮助也是好的. 1:Firebug    Firefox强力推荐插件之一,它有点类似开发者工具,但是功能一点都不比F12差,这个是我目前用的最多的插件.经常用来代码审计,分析请求头和响应头等.   2:User Agent Switcher    改变客户端的User Agent的一款插件   3:Hackbar    渗透必备工具,提供了SQL注入和XS

对初学LoadRunner朋友们的一些建议

摘要:随着Internet的普及与迅速发展,企业业务量的迅速加大,数据大集中成为一种趋势,IT系统承载的负荷越来越重,系统性能的好坏严重的影响了企业对外提供的服务质量.从而对IT系统的性能进行测试和调优引起企业的重视,进而性能测试工程师成为IT市场的"香悖悖",并且性能测试有着极高的技术挑战.于是吸引了大量的测试爱好者来学这方面的技术,而一谈到性能测试很多人便会想到鼎鼎大名的LoadRunner这款优秀的性能测试工具,然而到这里问题就产生了. LoadRunner与性能测试的关系:Lo

关于hadoop程序优化的几点建议

我最近在写代码的过程中发现了hadoop的mapreduce程序的一些操作有的是耗时的有的可以使得程序运行更快 1.不知道大家有没有用过那个partioner的,这个类可以帮助我们将我们的数据通过自定义的方式输出到指定的文件当中去 比如说: private static Map<String ,Integer > provider_map= new HashMap<String ,Integer>(); static { provider_map.put("135&quo

[好文推荐] 给年轻程序员的8条建议

看到一篇写的很好的职业生涯建议,想想真的是这些道理. 翻译如下: 如同儿歌 "Ooh La La" 所唱的一样,我多希望年轻时就懂得现在才领悟的那些道理呀.那时候,我心里只有代码,才不会去想想自己的职业人生,也不会去主动维持良好的朋友关系.要是有人指点一二,那能少走多少弯路啊! 1.保持联系方式 我刚毕业时一门心思都扑在计算机上,如果谁将我和心爱的电脑隔离我甚至会很反感.好吧,这样说可能夸张了一点. 尽管那时候就认识很多行内知名的专家,也参加各种交流会议认识很多值得做朋友的人, 但很可

hadoop和spark的区别介绍

学习hadoop已经有很长一段时间了,好像是二三月份的时候朋友给了一个国产Hadoop发行版下载地址,因为还是在学习阶段就下载了一个三节点的学习版玩一下.在研究.学习hadoop的朋友可以去找一下看看(发行版 大快DKhadoop,去大快的网站上应该可以下载到的.)在学习hadoop的时候查询一些资料的时候经常会看到有比较hadoop和spark的,对于初学者来说难免会有点搞不清楚这二者到底有什么大的区别.我记得刚开始接触大数据这方面内容的时候,也就这个问题查阅了一些资料,在<FreeRCH大数