hadoop相关知识点新总结

根据我对hadoop应用的理解,对之前的总结进行了完善,都是些个人看法和总结。

我认为整个框架包含如下几个部分:

第一部分:hadoop文件系统

第二部分:编写自己的MR计算实现

第三部分:hadoop的扩展性

第四部分:集群管理

第五部分:调度系统

第六部分:第三方工具使用

 

第一部分

各知识点分布:

第一:主要掌握各文件系统的具体实现和使用

第二:文件系统基本操作

第三:压缩模式的使用和编写自定义的压缩模式

第四:序列化机制的使用

第五:checksum的使用(数据完整性)

第六:文件系统存储格式(sequenceFileMapFile)

第七:HDFS的读取和写入流程

第八:HDFS调用方式

第九:分布式HASH算法

在这部分涉及到的开发,主要是实现自定义的文件系统,优化压缩算法、序列化机制等。

 

第二部分

对于这部分系统开发部分占的比重很大,分布如下:

第一:MR运行机制

第二:调度器的使用和如何实现自定义调度器

第三:调度器原理(目前掌握基础两个调度器:fair SchedulerCapacity Scheduler)

第四:MR开发(环境的搭建、MR编写步骤、调试、类型与格式、MR运行等)

第五:排序算法

第六:如何灵活运用MR开发

在这部分主要是如何将相关问题转化成MR的分布式计算框架。

 

第三部分

这部分主要是掌握hadoop的相关扩展功能,一个集成C/C++,一个集成其他各种语言(R、python、perl、shell等)

前者需要掌握pipes,后者掌握Streaming

 

第四部分

这块工作主要是涉及包括集群部署和监控管理,分布如下:

第一:hadoop集群里机器选型

第二:操作系统安装(这里也包括操作系统安装完成后的相关参数的调整)

第三:namenode的部署

第四:datanode的部署

第五:JVM选型与安装

第六:ganglianagios监控工具部署

第七:很重要搭建分布式部署和安装环境(使之更加智能化,因为随着集群的规模越大,不可能让工程师一台台安装)

第八:hadoop各种类型进程如何去分布(namenodejobtrackerdatanodetasktrackersecondarynamenode),

以上属于部署部分,当基础环境完成后,需要对hadoop运行情况进行监控,分布如下:

第一:通过监控性能数据找到性能瓶颈所在

第二:通过监控机器数据掌握资源利用状态

第二:定时任务(如定时清理日志等)

第四:很重要namenode单点故障解决方案

第五:hadoop本身管理(增加节点、删除节点、备份等)

第六:各参数优化(包括:CPUMemorydisksocekthdfs参数、MR参数等)

这部分是一个长期的过程,需要经过碰到问题、解决问题、积累、消化和升华的过程。


最后是开发部分:就是开发适合自己的监控系统(这里包括:调度监控、硬件监控、进程监控、任务运行监控等)

 

第五部分

因为hadoop是一个提交式的计算平台,所以需要在外围编写一套调度程序。可以采用:

Shellpythonjava等程序编写。

调度可以采用消息调度、crontab等方式

 

第六部分

因为hadoop有丰富的第三工具的支持,所以根据不同的业务应用场景,需要掌握对应的工具。

Sqoop

Hive

mahout

Zookeeper

Hbase

Pig等

 

这些就是目前所接触,每个点都可以细化更多地知识,这是一个长期学习的过程。

 

 

你可能感兴趣的:(hadoop相关知识点新总结)