近期为一些用户培训Hadoop技术,最近也有一些同事、网友开始向我咨询这一方面的问题,很多初学者很难理清Hadoop到底是什么,甚至Hadoop与虚拟化、云计算的关系。
这里给出一个渐进式的学习与进阶方案:
(1)先搭建一个单节点的 Hadoop平台,先将那些疑问放一边,先去学习如何搭建这个平台;
(2)尝试用Hadoop管理各类文件,尝试将数据存放于其非关系型数据库中,尝试编写一个MapReduce程序,通过些步骤,能够大概的认识到Hadoop是一个海量的数据、文件的存放平台,上面提供了各种通用的工具以帮助用户更好的去分析、应用与处理这些数据与文件;
(3)考虑一个问题:如果当前有一个任务交给你,去实现一个TB、乃至PB级数据的海量存取与快速查询,你最后如果实现了这一任务,其实就是实现了一个专用任务的Hadoop平台,考虑到未来有很多类似的任务,将你的专用Hadoop平台改造成通用性平台,以方便其他用户使用,那你可能就真正实现了一个类似于Hadoop的应用系统。用这样的思维去看待Hadoop可能会让用户理解的为更透彻,另外当用户对这个认识模糊时,大可以不用太担心,这多半是由于当前的实际工作可能还用不上,如果真碰到这样的大数据处理,通过思考就能很快理解Hadoop的好处。
(4)实现多节点的安装与部署,并尝试设置节点失效,看一下如何去管理与调度、监测任务的执行。
(5)实现大批量专用工具部署,并尝试实现1万个文件的存取、数千万数据的写入与查询,再去重新认识一下Hadoop。
(6)尝试在工作中开始实现Hadoop。