好消息:我的Hadoop新书《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》已经开始在各大网站销售,购书链接地址: 当当购书网址(目前有货),京东购书网址(已卖光),卓越购书网址(已卖光,链接到其他书店),淘宝天猫购买网址(目前有货,注意盗版!)。详情请查看新书官方宣传主页:http://hadoop123.com/。
我的联系方式是:http://dongxicheng.org/about/
我的新浪微博是:西成懂,欢迎关注我,很多重要信息将在微博上发布,经常在微博上讨论技术。
——————————————————————————————————————————————————–
在我的技术博客中,推荐以下几个专题:
一、Hadoop-MapReduce(一个离线计算框架)
Hadoop是google分布式计算框架MapReduce与分布式存储系统GFS的开源实现,由分布式计算框架MapReduce和分布式存储系统HDFS(Hadoop Distributed File System)组成,具有高容错性,高扩展性和编程接口简单等特点,现已被大部分互联网公司采用。
本博客一直关注Hadoop的发展动态,并整理了以下几篇文章:
(1) Hadoop框架优化:“Hadoop平台优化综述(一)”, “Hadoop平台优化综述(二)”
(2) Hadoop调度器研究:“Hadoop公平调度器解析”,”Hadoop计算能力调度器解析“, “Hadoop的调度器总结”,“如何编写Hadoop调度器”
(3) HDFS小文件管理:“HDFS小文件问题及解决方案”
(4) Hadoop上编写分布式程序,当前Hadoop主要有三种编程方式,分别为:
[1] Java语言:“如何在Hadoop上编写MapReduce程序”,
[2] Hadoop Streaming:“Hadoop Streaming 编程”,“Hadoop Streaming 高级编程”
[3] Hadoop Pipes:“Hadoop pipes设计原理”,”Hadoop pipes编程“
——————————————————————————————————————————————————
二、Hadoop-YARN(Hadoop 2.0的一个分支,实际上是一个资源管理系统)
YARN是Hadoop的一个子项目(与MapReduce并列),它实际上是一个资源统一管理系统,可以在上面运行各种计算框架(包括MapReduce、Spark、Storm、MPI等)。
本博客一直关注YARN的发展动态,并整理了以下几篇文章:
(1)准备篇:
[1]“下一代Apache Hadoop MapReduce框架的架构”
[2]“Hadoop 2.0中的基本术语解释”
[3]“相比于MRv1,YARN带来的优势是什么?”
[4]“Hadoop版本选择探讨”
[5]“YARN/MR2编程模型介绍“
(2) YARN ResourceManager分析:
[1]“YARN/MRv2 Resource Manager深入剖析—RM总体架构”
[2]“YARN/MRv2 Resource Manager深入剖析—用户交互相关模块分析”
[3]“YARN/MRv2 Resource Manager深入剖析—服务与事件处理器”
[4]“YARN/MRv2 Resource Manager深入剖析—AM管理”
[5]“YARN/MRv2 Resource Manager深入剖析—NM管理”
[6]“YARN/MRv2 Resource Manager深入剖析—RMApp状态机分析”
[7]“YARN/MRv2 Resource Manager深入剖析—RMAppAttempt状态机分析”
[8]“YARN/MRv2 Resource Manager深入剖析—RMContainer状态机分析”
[9]“YARN/MRv2 Resource Manager深入剖析—资源调度器“
(3)YARN NodeManager分析:
[1]“YARN/MRv2 Node Manager深入剖析—整体架构”
[2]“YARN/MRv2 Node Manager深入剖析—节点健康状况检测”
[3]“YARN/MRv2 Node Manager深入剖析—Container启动过程分析”
[4]“YARN/MRv2 Node Manager深入剖析—Application状态机分析”
[5]“YARN/MRv2 Node Manager深入剖析—Container状态机分析”
[6]“YARN/MRv2 Node Manager深入剖析—LocalizedResource状态机分析“
(4) YARN MRAppMaster分析:
[1] “YARN/MRv2 MRAppMaster深入剖析—概述”,
[2] “YARN/MRv2 MRAppMaster深入剖析—整体架构”,
[3]“YARN/MRv2 MRAppMaster深入剖析—作业生命周期”
[4]“YARN/MRv2 MRAppMaster深入剖析—ContainerAllocator分析”
[5]“YARN/MRv2 MRAppMaster深入剖析—ContainerLauncher分析”
[6]“YARN/MRv2 MRAppMaster深入剖析—推测执行机制”
[7]“YARN/MRv2 MRAppMaster深入剖析—作业恢复“
(4)YARN应用程序开发及实例:
[1]“YARN/MRv2的Client端代码分析”
[2]“如何编写YARN应用程序”
[3]“YARN编程实例—distributedshell源码分析”
[4]“如何运行YARN中的DistributedShell程序”
[5]“YARN编程实例—Unmanaged AM工作原理介绍“
(5)YARN的其他方面:
[1]“浅谈Hadoop YARN中的事件驱动机制”
[2]“浅谈Borg/YARN/Mesos/Torca/Corona一类系统”
[3]“Apache Tez:一个运行在YARN之上支持DAG作业的计算框架”
[4]“浅谈Apache Tez中的优化技术”
[5]“Apache Tajo:一个运行在YARN上支持SQL的分布式数据仓库”
[6]“多集群下资源共享方案介绍”
[7]“解析Google集群资源管理系统Omega“
————————————————————————————————————————————————–
三、FrameWork On YARN
运行在YARN上的框架,包括MapReduce-On-YARN, Spark-On-YARN, Storm-On-YARN和Tez-On-YARN。
(1)MapReduce-On-YARN:YARN上的离线计算;
(2)Spark-On-YARN:YARN上的内存计算;
(3)Storm-On-YARN:YARN上的实时/流式计算;
(4)Tez-On-YARN:YARN上的DAG计算
————————————————————————————————————————————————-
四、日志分析系统
随着网站的访问量越来越大,日志的分析和挖掘显得尤为重要。本博客也一直在关注开源日志系统,包括:facebook的scribe,apache的chukwa,linkedin的kafka和cloudera的flume等,并整理了以下几篇文章:
(1) 关于Facebook的Scribe:“ Scribe日志收集系统介绍”
(2) 关于LinkedIn的Kafka:“消息系统Kafka介绍”
(3) 关于开源日志系统的比较:“开源日志系统比较”
————————————————————————————————————————————————-
五、Apache Thrift
Apache Thrift是Facebook开源的RPC框架,包含序列化/反序列化和RPC两部分,本博客关注Thrift发展,并整理一下几篇文章:
[1]“Thirft框架介绍”
[2]“Thrift使用指南”
[3]“使用Thrift RPC编写程序”
[4]“让Thrift支持双向通信”
[5]“浅谈Thrift内部实现原理“
—————————————————————————————————————————————————
六、数据结构和算法
本人一直以为做IT,积累基础知识尤其重要,因而本人一直在修炼基本功,即数据结构和算法,并不断整理和总结,并将进度汇总在博文“数据结构和算法汇总”中。