Hadoop集群运行情况
两个网页查看集群情况
- master:8088查看mapreduce任务的执行情况。有任务ID,任务运行状态,任务执行程度。
- localhost:50070查看HDFS目录,查看DataNode信息,集群信息。
文件存储位置
在datanode节点下,在目录/usr/local/hadoop/tmp/dfs/data/current/下可以找到存储的文件
一般一个文件一个块,文件占用小于块容量的时候。9个小文件,9个块。
日志信息
运行文件内容过滤任务。grep。
- 先和ResourceManager建立连接
- 读取9个块
- 9个切片,几个切片几个map任务
- 确定jobID,并向YARN发送jobID
- 查询job,通过master:8088
- 执行mapreduce任务
- 显示map进度,reduce进度
出现map没跑到100%,就有reduce跑的情况
这里是有一个阈值,当map任务完成到阈值,就会启动reduce任务。当一个map运行结束时,reduce就会从jobtracker中获得该信息(map运行结束,tasktracker会得到消息,把消息发送给jobtracker)。reduce获取信息后,就开始工作。
mapreduce.job.reduce.slowstart.completedmaps
//当maptask完成的比例达到该值后,才会为reducetask申请资源,不然会出现资源给reducetask申请了,map没资源可用
yarn.app.mapreduce.am.job.reduce.rampup.limit
//在maptask完成前,最多启动的reducetask
yarn.app.mapreduce.am.job.reduce.preemption.limit
//maptask需要资源但无法获取资源时,可以抢占reduce资源的比例
完成job任务后,会显示各个参数信息
File System Counters
读取的字节数
写入的字节数
Job Counters
死去的map数
开启的map数
开启的reduce数
Map-Reduc Framework
map 输入的记录数,几行
map 输出的记录数
combine 输入的行数
combine 输出的行数
reduce 输入组数
reduce 输入的行数
reduce 输出行数
grep
- 对9个文件,9个块,分成9个map输入。
过滤含dfs[a-z.]+开头的行记录。 - 将含dfs[a-z.]+的行记录输出到本地磁盘,共有5个。
- 再由一个mapreduce任务,把5个记录汇集到同一个文件。可能有些记录在slave1,有些在slave2。
- 把最后任务结果上传到datanode