hadoop trails

最近在捣鼓hadoop相关东东,部门里面需要总结一个hadoop相关的trails,方便后面freshmen加入时可以参考。写了写,可能不对,供新手参考。自己也还是一个新手啊。

hadoop还是很多值得学习的地方,hadoop建立者Dogg Cutting 也是lucene的作者,现在又是ASF的主席。

 

名词解释

与hadoop关联的软件、名词非常多,这里列出一些常用的。

  • hadoop: 一整套分布式存储、计算解决方案
  • hdfs: 一套分布式文件系统
  • mapreduce: 一套分布式计算框架
  • hbase: 基于hdfs的column family 的nosql数据库
  • hive: 一套将类似sql的hql转换成mapreduce job的工具
  • thrift: 一套用于各种语言间通讯的协议以及实现

搭建环境

搭建基本的hadoop环境

  • 在本地环境搭建伪分布式的hadoop环境,包括基本的hdfs和mapreduce
  • 在本地环境搭建hive和hbase等关联的环境

检验

  • 本地能够搭建一个hadoop环境,并且实现以下功能
  • 将本地文件放入hdfs
  • 运行一个基于hdfs的mapreduce示例程序

使用hdfs

需要知道的知识

  • hadoop文件存放的方式
  • hadoop对文件系统操作命令行的使用

检验

  • 上传文件到hdfs
  • 从hdfs中获取文件到本地

使用mapreduce

需要知道的知识

  • 基本的java面向类编程
  • mapreduce的过程
  • 如何自己写一个mapreduce程序
  • 如何运行mapreduce程序

检验

  • 知道什么逻辑应该在map端处理,什么逻辑在reduce时处理
  • 写一个程序统计一个文件中各个单词出现的次数

进一步了解hdfs

需要知道的知识

  • hdfs的架构
  • namenode和datanode的作用
  • hdfs中的block

检验

  • 描述一个客户端上传文件到hdfs时,各个结点之间的通讯次序。

进一步了解mapreduce

需要知道的知识

  • 数据如何在map和reduce过程传递的
  • job是如何分配的
  • 输入的数据是如何分配给map程序的
  • map计算出来的结果是如何组织的,然后传递给reduce的
  • 一个任务map的个数取决于哪些因素

检验

  • 描述一个客户端提交了一个mapreduce的任务,hadoop内部各个结点做了哪些动作。
  • 自定义mapreduce的InputFormat, OutputFormat, Writable

 

- to blog -

blog built using the cayman-theme by Jason Long. LICENSE