[ 
https://issues.apache.org/jira/browse/HDDS-3155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

mingchao zhao updated HDDS-3155:
--------------------------------
    Description: 
Background:

    When we execute mapreduce in the ozone, we find that the task will be stuck 
for a long time after the completion of Map and Reduce. The log is as follows:
{code:java}
//Refer to the attachment: stdout
20/03/05 14:43:30 INFO mapreduce.Job: map 100% reduce 33% 
20/03/05 14:43:33 INFO mapreduce.Job: map 100% reduce 100% 
20/03/05 15:29:52 INFO mapreduce.Job: Job job_1583385253878_0002 completed 
successfully{code}
    By looking at AM's log, we found that the time of over 40 minutes is AM 
writing a task log into ozone.

At present, after MR execution, the Task information is recorded into the log 
on HDFS or ozone by AM.  Moreover, the task information is flush to HDFS or 
ozone one by one 
([details|https://github.com/apache/hadoop/blob/a55d6bba71c81c1c4e9d8cd11f55c78f10a548b0/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/jobhistory/JobHistoryEventHandler.java#L1640]).
 

     The problem occurs when the number of task maps is large. 

     Currently, each flush operation in ozone generates a new chunk file in 
real time on the disk. This approach is not very efficient at the moment. For 
this we can refer to the implementation of HDFS flush. Instead of writing to 
disk each time flush writes the contents of the buffer to the datanode's OS 
buffer. In the first place, we need to ensure that this content can be read by 
other datanodes.

 

  was:
Background:

When we execute mapreduce in the ozone, we find that the task will be stuck for 
a long time after the completion of Map and Reduce. The log is as follows:
{code:java}
//代码占位符
20/03/05 14:43:03 INFO mapreduce.Job:  map 91% reduce 30%20/03/05 14:43:03 INFO 
mapreduce.Job:  map 91% reduce 30%20/03/05 14:43:05 INFO mapreduce.Job:  map 
92% reduce 30%20/03/05 14:43:07 INFO mapreduce.Job:  map 93% reduce 30%20/03/05 
14:43:08 INFO mapreduce.Job:  map 93% reduce 31%20/03/05 14:43:11 INFO 
mapreduce.Job:  map 94% reduce 31%20/03/05 14:43:14 INFO mapreduce.Job:  map 
95% reduce 31%20/03/05 14:43:18 INFO mapreduce.Job:  map 96% reduce 31%20/03/05 
14:43:20 INFO mapreduce.Job:  map 97% reduce 32%20/03/05 14:43:24 INFO 
mapreduce.Job:  map 98% reduce 32%20/03/05 14:43:26 INFO mapreduce.Job:  map 
99% reduce 33%20/03/05 14:43:30 INFO mapreduce.Job:  map 100% reduce 
33%20/03/05 14:43:33 INFO mapreduce.Job:  map 100% reduce 100%20/03/05 15:29:52 
INFO mapreduce.Job: Job job_1583385253878_0002 completed successfully20/03/05 
15:29:52 INFO mapreduce.Job: Counters: 51 File System Counters FILE: Number of 
bytes read=84602 FILE: Number of bytes written=162626320 FILE: Number of read 
operations=0 FILE: Number of large read operations=0 FILE: Number of write 
operations=0 O3FS: Number of bytes read=237780 O3FS: Number of bytes 
written=134217728089 O3FS: Number of read operations=4008 O3FS: Number of large 
read operations=0 O3FS: Number of write operations=1002 Job Counters  Killed 
map tasks=1 Launched map tasks=1000 Launched reduce tasks=1 Data-local map 
tasks=979 Rack-local map tasks=21 Total time spent by all maps in occupied 
slots (ms)=149515400 Total time spent by all reduces in occupied slots 
(ms)=449288 Total time spent by all map tasks (ms)=7475770 Total time spent by 
all reduce tasks (ms)=112322 Total vcore-milliseconds taken by all map 
tasks=7475770 Total vcore-milliseconds taken by all reduce tasks=112322 Total 
megabyte-milliseconds taken by all map tasks=153103769600 Total 
megabyte-milliseconds taken by all reduce tasks=460070912
{code}


> Improved ozone flush implementation to make it faster.
> ------------------------------------------------------
>
>                 Key: HDDS-3155
>                 URL: https://issues.apache.org/jira/browse/HDDS-3155
>             Project: Hadoop Distributed Data Store
>          Issue Type: Improvement
>            Reporter: mingchao zhao
>            Priority: Major
>         Attachments: stdout, syslog
>
>
> Background:
>     When we execute mapreduce in the ozone, we find that the task will be 
> stuck for a long time after the completion of Map and Reduce. The log is as 
> follows:
> {code:java}
> //Refer to the attachment: stdout
> 20/03/05 14:43:30 INFO mapreduce.Job: map 100% reduce 33% 
> 20/03/05 14:43:33 INFO mapreduce.Job: map 100% reduce 100% 
> 20/03/05 15:29:52 INFO mapreduce.Job: Job job_1583385253878_0002 completed 
> successfully{code}
>     By looking at AM's log, we found that the time of over 40 minutes is AM 
> writing a task log into ozone.
> At present, after MR execution, the Task information is recorded into the log 
> on HDFS or ozone by AM.  Moreover, the task information is flush to HDFS or 
> ozone one by one 
> ([details|https://github.com/apache/hadoop/blob/a55d6bba71c81c1c4e9d8cd11f55c78f10a548b0/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/jobhistory/JobHistoryEventHandler.java#L1640]).
>  
>      The problem occurs when the number of task maps is large. 
>      Currently, each flush operation in ozone generates a new chunk file in 
> real time on the disk. This approach is not very efficient at the moment. For 
> this we can refer to the implementation of HDFS flush. Instead of writing to 
> disk each time flush writes the contents of the buffer to the datanode's OS 
> buffer. In the first place, we need to ensure that this content can be read 
> by other datanodes.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to