gpt4 book ai didi

hadoop - Hadoop Mapreduce 控制台输出说明

转载 作者:可可西里 更新时间:2023-11-01 14:22:05 25 4
gpt4 key购买 nike

我是 hadoop 环境的新手。我已经设置了 2 节点集群 hadoop。然后我运行示例 mapreduce 应用程序。 (实际上是字数)。然后我得到这样的输出

File System Counters
FILE: Number of bytes read=492
FILE: Number of bytes written=6463014
FILE: Number of read operations=0
FILE: Number of large read operations=0
FILE: Number of write operations=0
HDFS: Number of bytes read=71012
HDFS: Number of bytes written=195
HDFS: Number of read operations=404
HDFS: Number of large read operations=0
HDFS: Number of write operations=2
Job Counters
Launched map tasks=80
Launched reduce tasks=1
Data-local map tasks=80
Total time spent by all maps in occupied slots (ms)=429151
Total time spent by all reduces in occupied slots (ms)=72374
Map-Reduce Framework
Map input records=80
Map output records=8
Map output bytes=470
Map output materialized bytes=966
Input split bytes=11040
Combine input records=0
Combine output records=0
Reduce input groups=1
Reduce shuffle bytes=966
Reduce input records=8
Reduce output records=5
Spilled Records=16
Shuffled Maps =80
Failed Shuffles=0
Merged Map outputs=80
GC time elapsed (ms)=5033
CPU time spent (ms)=59310
Physical memory (bytes) snapshot=18515763200
Virtual memory (bytes) snapshot=169808543744
Total committed heap usage (bytes)=14363394048
Shuffle Errors
BAD_ID=0
CONNECTION=0
IO_ERROR=0
WRONG_LENGTH=0
WRONG_MAP=0
WRONG_REDUCE=0
File Input Format Counters
Bytes Read=29603
File Output Format Counters
Bytes Written=195

我得到的每一个数据都有解释吗?特别是,

  1. 所有 map 在占用插槽中花费的总时间(毫秒)
  2. 所有 reduce 在占用的槽中花费的总时间(毫秒)
  3. 花费的 CPU 时间(毫秒)
  4. 物理内存(字节)
  5. 虚拟内存(字节)快照
  6. 总提交堆使用量(字节)

最佳答案

Mapreduce 框架在作业提交执行时维护计数器。这些计数器显示给用户以了解作业统计信息并查看基准和性能分析。您的作业输出显示了一些计数器。关于计数器的权威指南第8章有很好的解释,我建议你检查一次。

解释您要求的项目,

1) Total time spent by all maps - 运行 map task 所花费的总时间(以毫秒为单位)。包括任务推测性地启动(推测性意味着在等待指定时间后运行失败或缓慢的作业,悲叹地说,推测性作业意味着重新运行任何特定的 map task )。

2) Total time spent by all reduce - 运行 reduce 任务所花费的总时间(以毫秒为单位)。

3) CPU 时间 - 一个任务的累计 CPU 时间,以毫秒为单位

4) 物理内存 - 任务使用的物理内存(以字节为单位),这里的内存也计算用于溢出的总内存。

5) Total virtual memory - 任务使用的虚拟内存,以字节为单位

6) Total committed heap usage - JVM 中可用的内存总量,以字节为单位

希望这对您有所帮助。计数器的类别及其详细信息在权威指南中整齐地给出,如果您需要任何其他信息,请告诉我。

谢谢。

评论后的额外细节--

RAM 是处理作业时使用的主要内存。数据将被带到 RAM 并处理作业,将其保存在 RAM 中。但是,数据可能比分配的 RAM 大小更大。在这种情况下,操作系统将数据保存在磁盘中并将其交换到 RAM 或从 RAM 交换,以允许更少的 RAM 足以用于内存较高的文件。例如:RAM 为 64MB,假设文件大小为 128MB,则 64MB 将首先保存在 RAM 中,其他 64MB 保存在 DISK 中,并进行交换。虽然它不会将其保持为 64MB 和 64MB,但在内部它分为段/页。

我只是举个例子来理解。虚拟内存是一个概念,通过使用页面并与磁盘和 RAM 交换来处理比 RAM 更大的文件。因此,对于上述情况,它实际上使用磁盘中的 64 MB 作为 RAM,因此称为虚拟内存。

希望你明白。如果您对答案满意,请采纳为答案。如果您有任何问题,请告诉我。

Heap用于对象存储的JVM内存,在命令行中使用JVM_OPTS设置。通常所有的 java 程序都需要有这些设置。

关于hadoop - Hadoop Mapreduce 控制台输出说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25482426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com