关于hadoop整体规划,根据我使用的经验来看,分成5个部分:
第一个部分hadoop部署与运维
第二个部分hadoop的文件系统
第三个部分hadoop的MR计算框架
第四个部分hadoop的第三方生态圈
第五个部分调度程序
第一部分有分为以下几个点:
操作系统安装、机器选型、hadoop的namenode部署、datanode部署、JVM选型与调试、hadoop运维(这包括容错、备份、恢复、增删节点等很多方面)、分布式部署、监控、调优(包括CPU、内存、IO、网络)、hadoop架构分布(namenode、jobtracker、datanode、tasktracker、SecondaryNameNode分布)、最后一点就是namenode的单点故障解决方案。
第二部分分为以下几个点:
简单的文件系统操作、权限管理、HDFS的参数配置与调试、压缩模式、序列化、HDFS的运行机制、文件系统原理、HDFS接口、文件存储格式。
第三部分分为以下几个点:
MR本身运行机制、调度器配置与调优、调度器原理、MR开发环境搭建并编写MR程序、MR的参数配置与调试(本地调试、远程调试、HPROF分析)、MR相关算法。
第四部分分为以下几个点:
hive、zookeeper、hbase、pig、sqoop、mahout等使用与应用。
第五个部分简单地说就是如何编写调度程序(用java、python、shell、crontab等都行)
如果每个点再细分,其实都是一块工作量很大的部分,而且各个部分其实又是紧密结合在一起的。
以上就是我使用hadoop体系以来的总结,根据这些方面,去招聘相关职位的工程师,互相配合。如有错误,请指正。