在学习hadoop之前,我就明确了要致力于大数据行业,成为优秀的大数据研发工程师的目标,有了大目标之后要分几步走,然后每一步不断细分,采用大事化小的方法去学习hadoop。下面开始叙述我是如何初学hadoop的。
Hadoop学习两步走:linux学习、hadoop学习。
在接触hadoop之前我有java基础,为此我的计划是首先学习Linux,然后学习hadoop生态系统,为此学习hadoop第一步计划就是学习linux了,然后linux又可以分为四个步骤走。
linux任务第一个目标就是要熟练操作linux常用命令以及网络配置;
第二个目标就是熟悉用户以及权限管理操作;
第三个目标就是熟悉软件包以及系统命令管理,第四个就是要学习shell编程了。
Linux系统学习完毕之后,紧接着就是第二个计划了学习Hadoop。
Hadoop阶段分两步走。
第一阶段能熟练搭建伪分布式集群以及完全分布式集群,我个人认为先搭建hadoop环境然后再学习hadoop这样效果更好。就如同看别人代码一样,我们先把别人代码能跑起来,然后再分析代码,如果代码都跑不起来,何谈代码分析,所以先让hadoop环境搭建起来,能正常运行wordcount程序,我们才能慢慢分析整个Hadoop生态系统,这样我们能对hadoop有个整体上的认识。
Hadoop第二阶段就是基于第一阶段的基础上,再细分几大阶段:
首先第一阶段整体上认识hadoop生态系统,了解MapReduce分布式计算框架、Yarn集群资源管理和调度平台、hdfs分布式文件系统、hive数据仓库、HBase实时分布式数据库、Flume日志收集工具、sqoop数据库ETL工具、zookeeper分布式协作服务、Mahout数据挖掘库;
第二阶段学习MapReduce,MapReduce作为hadoop核心内容,要先易后难,首先了解Mapper、Reducer、Configuration、job等这些类,熟悉MapReduce流程图,然后写简单的单词统计代码,整体上对MapReduce认识,之后学习MapReduce运行机制,熟练掌握,MapReduce输入格式,MapReduce输出格式,以及MapReduce优化;
第三阶段学习hadoop另一个核心内容HDFS,首先明白什么是hdfs,然后再分析hdfs的优点,然后再了解Hdfs的缺点有哪些,HDFS是如何存储数据的,采用什么样的架构,我们如何实现读取和写入HDFS中的文件,以及了解HDFS副本存放策略,同时熟练掌握HDFS的shell访问和java访问。
第三阶段就是学习hadoop另一个核心内容:Yarn,首先我们要了解Yarn是什么,为什么使用Yarn,Yarn的构架,Yarn的原理。我个人认为,hadoop初学者只要掌握了提供海量数据存储的HDFS,分布式计算的MapReduce,以及集群资源管理和调度平台的yarn,基本上也就掌握了Hadoop最核心的东西,也为以后的hbase、hive学习打下了坚实的基础。
以下是我个人初学hadoop学习历程的思维导图,仅供参考。
转载:http://www.chinacloud.cn/show.aspx?id=24165&cid=22