hadoop job 命令_Hadoop知识总结

本文详细介绍了Hadoop的组成,包括HDFS启动过程、JobTracker的Recover机制、HDFS上传下载原理、HDFS的高级功能如回收站、配额、快照等。此外,还探讨了MapReduce的细节,如切片机制、自定义InputFormat、MapTask和ReduceTask的工作流程,以及Shuffle过程的优化策略。最后提到了YARN的基本组成和资源调度器的类型。
摘要由CSDN通过智能技术生成

一、Hadoop组成:

1、Hadoop的核心是HDSF和MapReduce,Hadoop2.0以后引入了yarn。HDFS是一个分布式存储系统。MapReduce是分布式的计算框架。yarn是一个资源调度的工具。Hadoop2.0加入了zk的支持实现比较可靠的高可用。

2、HDFS的启动过程:(1)、加载文件的元信息。(2)、加载日志文件。(3)、设置检查点。(4)、进入安全模式。作用是:检查数据块的副本率,冗余度是否达到要求。

二、HDFS组成原理:

1、HDFS的架构:

ecedd865c7b768f3224cfbf0f9874d5e.png

我们可以看到在这个架构中有一个NameNode和几个DataNode还有一个SecondaryNameNode,下面我们分别来阐述一下它们各自的作用.

2、NameNode:

(1)、加载fsimag和edits文件到内存中。

ps:fsimag文件是HDFS元信息文件,edits文件是记录操作日志文件。fsimage文件和edits文件在一起,记录了数据块的位置和冗余信息。(2)、客户端向NameNode发起增删改查的请求。

(3)、NameNode记录操作到内存中,更新滚动日志。

(4)、NameNode在内存中对数据进行增删改查。

3、DataNode:

(1)、保存数据块,默认是128M,Hadoop1.0默认是64M。

(2)、存储在磁盘上,包括两个文件,一个数据本身,一个是元数据包括数据块长度,块数据校验和以及时间戳。

(3)、DataNode启动后向NameNode注册,通过后,周期性(64分钟)的向NameNode上报所有的信息。

(4)、心跳是三秒一次,心跳返回结果包括NameNode给该DataNode的命令。如果十分钟都没有收到该DataNode的心跳,则该节点不可用。

4、SecondaryNameNode:

(1)、向NameNode询问是否需要checkPoint。

ps:检查点触发的条件是:①时间快到了,60分钟。②日志文件edits中数据满了,64M。

(2)、请求执行checkPoint。

(3)、拷贝edits文件和fsimag文件到SecondaryNameNode中。

(4)、将拷贝过来的edits文件和fsimag文件进行合并。

(5)、生成新的fsimage命名为fsimage.chkpoint。

(6)、将fsimage.chkpoint拷贝到NameNode中去。

(7)、重新命名生成fsimage。

5c76fe80831228aa814515b14d6e17c4.png

5、NameNode、JobTracker、DataNode、TaskTracker

(1)、hadoop的集群是基于master/slave模式,namenode和jobtracker属于master,datanode和tasktracker属于slave,master只有一个,而slave有多个。(2)、SecondaryNameNode内存需求和NameNode在一个数量级上,所以通常secondary NameNode(运行在单独的物理机器上)和 NameNode 运行在不同的机器上。(3)、JobTracker对应于NameNode,TaskTracker对应于DataNode。(4)、DataNode和NameNode是针对数据存放来而言的。JobTracker和TaskTracker是对于MapReduce执行而言的。

ps:mapreduce中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:jobclient,JobTracker与TaskTracker。1)JobClient会在用户端通过JobClient类将已经配置参数打包成jar文件的应用存储到hdfs,并把路径提交到Jobtracker,然后由JobTracker创建每一个Task(即 MapTask 和 ReduceTask)并将它们分发到各个TaskTracker服务中去执行。2)JobTracker是一master服务,软件启动之后JobTracker接收Job,负责调度Job的每一个子任务。task运行于TaskTracker上,并监控它们,如果发现有失败的task就重新运行它。一般情况应该把JobTracker 部署在单独的机器上。3)TaskTracker是运行在多个节点上的slaver服务。TaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务。TaskTracker 都需要运行在HDFS的DataNode上。

(5)、JobTracker的Recover机制:如果设置了JobTracker Recover机制,那么在JobTracker重启的时候会触发Recover,在重启之前,histroy logs中会记录各个作业的运行状态,待JobTracker重启的时候,JobTracker会自动提交这些作业,并只对未完成的task进行重新调度。
三、HDFS上传下载原理:

1、HDFS文件的上传:

b8b8cecdfc8f6029954c49e539cf572d.png

(1)、客户端发出文件上传的请求。

(2)、客户端创建出DistrbutedSystem。

(3)、DistributedSystem和NameNode建立RPC通信,得到一个NameNode的代理对象。

(4)、请求创建文件的元信息。

(5)、NameNode创建出文件的元信息。元信息包括文件名,文件的大小,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值