其他分享
首页 > 其他分享> > hadoop

hadoop

作者:互联网

hadoop

1.hadoop的组成

1.1.HDFS
1.2YARN

2.hdfs详情

1.hdfs的写入流程
2.hdfs的读取流程
tips:
hadoop在物理上数据是分块处理的也就是block,3版本后就是128M;
Packet是client端向datanode,或者datanode之间传输的基本单位默认64kb
元数据:Data about Data,是描述数据的数据,主要储存文件属主,大小,权限,时间戳位置等信息。
3.namenode的工作机制
4.datanode工作机制
5.hdfs常用命令

1.从本地上传到hdfs

hadoop fs -put <localPath> <hdfsPath> 

2.从hdfs下载到本地

hadoop fs -get <hdfsPath> <localPath>

3.显示目录信息

hadoop fs -ls <path>

4.显示文件内容

hadoop fs -cat <path>

5.创建路径

hadoop fs -mkdir <path>

6.复制

hadoop fs -cp <path> <targetPath>

7.移动

hadoop fs -mv <path> <targetPath>

8.删除

hadoop fs -rm -r <path>

9.统计文件夹的大小信息

 hadoop fs -du -s -h <path>

10设置hdfs的文件副本数量

hadoop fs -setrep <amount> <path> //不能超过节点数

3.MapReduce详情

1.MapReduce的核心思想
2.数据切片与MapTask的并行机制
2.1源码解析
2.2FileInputFormat切片机制

2.2.1: FileInputFormat 常见的接口实现类包括:TextInputFormat、KeyValueTextInputFormat、
NLineInputFormat、CombineTextInputFormat 和自定义 InputFormat 等,针对不同的数据类型用不同的实现类。

2.3TextInputFormat
2.4CombineTextInputFormat
2.5Partition 分区
2.6WritableComparable 排序
2.7Combiner 合并

4.Yarn

4.1Yarn组成
4.1.1ResourceManager
4.1.2NodeManager
4.1.3ApplicationMaster
4.1.4Container
4.2Yarn的工作机制

(1)MR 程序提交到客户端所在的节点。
(2)YarnRunner 向 ResourceManager 申请一个 Application。
(3)RM 将该应用程序的资源路径返回给 YarnRunner。
(4)该程序将运行所需资源提交到 HDFS 上。
(5)程序资源提交完毕后,申请运行 mrAppMaster。
(6)RM 将用户的请求初始化成一个 Task。
(7)其中一个 NodeManager 领取到 Task 任务。
(8)该 NodeManager 创建容器 Container,并产生 MRAppmaster

(9)Container 从 HDFS 上拷贝资源到本地。
(10)MRAppmaster 向 RM 申请运行 MapTask 资源。
(11)RM 将运行 MapTask 任务分配给另外两个 NodeManager,另两个 NodeManager 分
别领取任务并创建容器。
(12)MR 向两个接收到任务的 NodeManager 发送程序启动脚本,这两个 NodeManager
分别启动 MapTask,MapTask 对数据分区排序。
(13)MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask。
(14)ReduceTask 向 MapTask 获取相应分区的数据。
(15)程序运行完毕后,MR 会向 RM 申请注销自己

4.3Yarn常用命令

1.列出所有Application

- yarn application -list 

2.根据 Application 状态过滤:yarn application -list -appStates (所有状态:ALL、NEW、
NEW_SAVING、SUBMITTED、ACCEPTED、RUNNING、FINISHED、FAILED、KILLED)

yarn application -list -appStates <ALL>

3.kill掉application

yarn application -kill <application-id>

4.查询application日志

yarn logs -application <Application-id>

5.查询container日志

yarn logs -application <Application-id> -containerId <Container-id>

6.查看所有application尝试运行的任务

yarn applicationattempt -list <ApplicationId> 

7.打印 ApplicationAttemp 状态

yarn applicationattempt -status <ApplicationAttemptId>

8.列出所有 Container

yarn container -list <ApplicationAttemptId> 

9.打印 Container 状态

 yarn container -status <ContainerId> 

10.列出所有节点

yarn node -list -all

11.加载队列配置

yarn rmadmin -refreshQueues 
  1. 打印队列信息
yarn queue -status <QueueName> 

标签:文件,hadoop,MapTask,切片,yarn,NameNode
来源: https://blog.csdn.net/fasujbhf/article/details/120134911