|
本帖最后由 qingduo04 于 2013-12-11 18:14 编辑
看了这么多的内容回复,没有针对话题做分析的,我就抛砖引玉一下吧,希望各位大侠多多指点。
1、作为一个Hadoop开发人员,为什么需要掌握Hadoop内部的实现细节和原理呢?
hadoop作为一个开源的平台或者架构,程序是对外免费开放的,相当于这只是一个内核,如果用到现场,可能就需要对程序进行一个编译或者缝缝补补一下,做成适合现场的软件,而这些修改需要对hadoop的技术和程序了如指掌,这样才能运筹帷幄,针对现场环境进行实际的完善或者优化。
2、学习Hadoop,除了搭建环境,还需要做哪些准备工作呢?
hadoop只是一套软件,实现的原理(我当前了解)也是基于X86服务器进行构架,然后通过namenode和datanode进行处理,这种对于处理文本文件是特别有好处的。
对于搭建过程中,需要了解hadoop的具体实现细节,同时需要对硬件和业务进行了解。
比如了解硬件性能和组网:各平台通信绝对是大数据量(除非是场景比较小),需要进行万兆通信或者使用Infiniband等高吞吐。
了解业务场景:哪些数据需要采用hadoop处理,哪些不需要。
调优:hadoop部署上去后,绝对不是部署运行效果特良好,可能根据现网环境进行微调,包含内存占用率等等。
3、如何才能让自己坚持把Hadoop的源代码看完呢?这个就是个人的能力问题,建议是有环境可以自己部署一下,一边学习,一边测试,可以加深印象。
这样也可以不至于太枯燥。
顺便说一下,当前现场部署了一套厂家封装的hadoop,源代码可以看到,一直忙着和客户打交道,做方案,做维护,如果没有太大的兴趣,估计不怎么看源代码。
并且咱不是java出身。
|
|