小朱笔记之hadoop应用实战、源码分析
1.1 背景目的
该笔记从宏观架构、安装配置、源码分析、使用案例四个方面剖析了Hadoop1.0.3,希望能对同学们提供帮助,赠人玫瑰,手留余香。能够把hadoop理论、源码和实践结合起来的资料少之又少,作者历时近一年搜集各种相关资料,取其精华,并经过实践检验。鉴于个人对于云计算的理解非常的浅薄,缺少足够的实践经验,深入的问题就不班门弄斧了,仅做梳理和解析。特别感谢李大嘴、奔跑的羚羊、觉先、阿笨猫、逸情公子、heyutao007、caibin、彭帅、千与、zhangyu8374、庄周梦蝶等同学,从你们探索的资料中,我学习了很多东西,受益匪浅。再次感谢!另外我的学习源码(内含大量注释和分析)将会分享给大家下载。
另外mapreduce模块,我这边最近比较忙,很难尽快发布。有同学感兴趣的话,可以加我好友,大家一起分析。谢谢!
1.2 读者范围
读者需对hadoop有一定的了解,如果读者想只是想从原理上更加深入Hadoop 原理以及运行机制的话,只需要阅读第1、2章综述即可。如果读者想深入Hadoop的源码,则需阅读该文档第3-7章。读者熟练掌握Java语言的基本语法,并且对反射机制、动态代理、网络通讯有一定的了解。
官方源码svn地址:http://svn.apache.org/repos/asf/hadoop/common/tags/release-1.0.3
注意:目前线上集群已经全部升级为hadoop-branch-2.2.0,所以小朱就hadoop 2.2版本也一并做分析。
1.3 目录安排
下面是小朱笔记-hadoop系列目录安排,希望大家的关注,并提出建议或意见。
备注:绿色(已发布)、蓝色(已写完)、橙色(正在写)、黑色(没有写)
第一章:环境配置以及集群部署
第一节.集群环境配置
第二节.开发环境配置
第三节.实用工具配置
第二章:脚本分析
第一节:start-all.sh
第二节:hadoop-config.sh
第三节:hadoop-env.sh
第四节:start-dfs.sh
第五节:hadoop-daemon.sh
第六节:hadoop-daemons.sh
第七节:slaves.sh
第八节:start-mapred.sh
第九节:hadoop
第三章:io分析
第四章:conf分析
第一节:Configurable类分析
第二节:Configured类分析
第三节:Configuration类分析
第五章:ipc分析
第一节:RPC协议
第二节:Client类分析
第三节:Server类分析
第四节:RPC类分析
第六章:hdfs分析
第一节:基本概念
第二节:fs抽象文件系统实现
2.1 cache机制
2.2 statisticsTable统计信息管理映射表
2.3 deleteOnExit临时文件集合
2.4 文件系统抽象
2.5 文件操作
2.6 重要数据结构
第三节:hdfs实现分析
3.1 基本概念
3.2 通讯协议
3.3 namenode数据结构
3.4 datanode数据结构
3.5 SecondaryNameNode数据结构
3.6 DFSClient数据结构
第四节:namenode专项分析
4.1 namenode启动过程分析
4.2 namenode format过程分析
4.3 namenode 副本监控分析ReplicationMonitor
4.4 namenode文件租约分析LeaseManagerMonitor
4.5 namenode心跳检测分析HeartbeatMonitor
4.6 namenode任务线程之DecommissionManager$Monitor
4.7 namenode 安全模式SafeModeMonitor
4.8 回收站机制
第五节:Datanode 专项分析
5.1 Datanode 启动过程分析
5.2 Datanode 心跳分析
5.3 Datanode 注册分析
5.4 DataBlockScanner 文件校验
5.5 DataNode 数据读写分析
第六节:SecondaryNameNode专项分析
6.1 架构分析
6.2 SecondaryNameNode启动过程分析
6.3 Checkpoint分析
6.4 Import Checkpoint恢复数据
第七节: 客户端专项分析
第八节:系统升级分析
第九节:block Recovery过程分析
第十节:数据负载均衡分析
第十一节:机架感知策略分析
第七章:mapreduce分析
第八章:scheduler分析
第九章:security分析
第十章:应用案列以及解决方案
第一节:hadoop hdfs 运维优化
第二节:hadoop mr 开发优化
第三节:hadoop namenode HA探索
第四节:hadoop jobtracker HA探索
作者简介:
朱辉 目前为彩票168网CTO/彩票365网技术经理。曾就职于彩洋洋网、人人网。多年互联网从业经验和程序开发,对分布式系统的开发、高并发、大数据量网站系统架构优化,高可用性、可伸缩性、分布式系统缓存设计,云计算hadoop&hive运维以及大数据分析等有丰富的经验。
QQ:46580583 只因程序夜未眠。