问题描述:MultipleOutputs使用时hdfs报错

   
   
// :: INFO mapreduce.Job: Task Id : attempt_1525336138932_1106_m_000000_1, Status : FAILED
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - Error: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedExcepti
on): Failed to create file [/result/rshadoop/hjb/tmp2/--/-/-m-.gz.parquet] for [DFSClient_attempt_1525336138932_1106_m_000000_1_1358354177_1] for client [120.210.209.141], because this file
is already being created by [DFSClient_attempt_1525336138932_1106_m_000000_0_-1048713570_1] on [120.210.209.137]
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.recoverLeaseInternal(FSNamesystem.java:
)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInternal(FSNamesystem.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNam
enodeProtocolServerSideTranslatorPB.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$.cal
lBlockingMethod(ClientNamenodeProtocolProtos.java)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:
)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.ipc.Server$Handler$.run(Server.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.ipc.Server$Handler$.run(Server.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at java.security.AccessController.doPrivileged(Native Method)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at javax.security.auth.Subject.doAs(Subject.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.ipc.Server$Handler.run(Server.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob -
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.ipc.Client.call(Client.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.ipc.Client.call(Client.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at com.sun.proxy.$Proxy12.create(Unknown Source)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.create(ClientNamenodeProto
colTranslatorPB.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at java.lang.reflect.Method.invoke(Method.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at com.sun.proxy.$Proxy13.create(Unknown Source)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.DFSOutputStream.newStreamForCreate(DFSOutputStream.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.DistributedFileSystem$.doCall(DistributedFileSystem.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.DistributedFileSystem$.doCall(DistributedFileSystem.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.parquet.hadoop.ParquetFileWriter.<init>(ParquetFileWriter.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.parquet.hadoop.ParquetFileWriter.<init>(ParquetFileWriter.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.parquet.hadoop.ParquetOutputFormat.getRecordWriter(ParquetOutputFormat.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.parquet.hadoop.ParquetOutputFormat.getRecordWriter(ParquetOutputFormat.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.mapreduce.lib.output.MultipleOutputs.getRecordWriter(MultipleOutputs.java:
)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.mapreduce.lib.output.MultipleOutputs.write(MultipleOutputs.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at com.rs.java.mapreduce.dnsSave.DnsSaveMR$DSMapper2.map(DnsSaveMR.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at com.rs.java.mapreduce.dnsSave.DnsSaveMR$DSMapper2.map(DnsSaveMR.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.mapred.MapTask.run(MapTask.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.mapred.YarnChild$.run(YarnChild.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at java.security.AccessController.doPrivileged(Native Method)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at javax.security.auth.Subject.doAs(Subject.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob - at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:)
-- ::, [DefaultQuartzScheduler_Worker-] INFO com.rs.java.job.dnsSave.ExcuteDnsSaveJob -

解决方式:

(1)文件流冲突。

一般创建文件时都会打开一个供写入的文件流。而我们希望是追加,所以如果使用了错误的API ,就有可能引起上述问题。以FileSystem类为例,如果使用create()方法之后再调用append()方法,就会抛出上述异常。所以最好使用createNewFile方法,只创建文件,不打开流。

(2)mapreduce推测执行机制

mapreduce 为了提高效率,会在一个任务启动之后,同时启动一些相同的任务(attempt),其中有一个attempt成功完成之后,视为整个task完成,其结果 作为最终结果,并且杀掉那些较慢的attempt。集群一般会开启此选项以优化性能(以空间换时间)。但在本问题环境下推测执行却不太合适。因为我们一般希望一个task 用来处理一个文件,但如果启动推测执行,会有几个attempt同时试图操作同一个文件,就会引发异常。所以最好关掉此选项,将 mapred.reduce.max.attempts 设为1,或者将mapred.reduce.tasks.speculative.execution设为false.

但此时仍有可能会出现问题。因为如果一个task的唯一attempt出现问题,在被kill掉之后,task仍会另起一个attempt,此时因为前一个attempt异常终止,仍有可能会影响到新起的attempt的文件操作,引发异常。所以最安全的方法是,借鉴推测执行的机制(每个attempt各自生成自己的结果,最终选择一个作为最终结果),以每个attempt的id号为后缀附加到所操作的文件上,同时捕获所有文件操作的异常并处理,这样可避免文件的读写冲突。Context可以用来获取运行时的一些上下文信息,可以很容易得到attempt的id号。注意,此时如果开启推测执行也可以,但是会生成很多相同的文件(每个attempt一份),仍然不是最好的解决方法。

同时,我们可以利用reduce的输出来记录运行“不正常的” key.这些task大多数是attempt_0被杀掉而重启了一个attempt_1,所以下面的文件一般为两份。可以对这些情况的key输出(文件异常或者attemptID > 0),并进行一些后续处理,比如文件重命名,或者紧对这些key重新写入。因为此种情况的key一般只占极少数,所以并不影响总体的效率。

2.文件异常处理

最好能将mapreduce中的所有文件操作都设置好异常处理。不然一个文件异常就有可能会使整个job失败。所以从效率来讲,最好是在文件发生异常时将其key作为reduce的输出以进行记录。因为同时mapreduce会重启一个task attempts重新进行文件读写,可保证我们得到最终的数据,最后所需的只是对那些异常的key进行一些简单的文件重命名操作即可。

3.多目录以及文件拼接

如果我们将key的种类设为1000万,上述方法会生成太多的小文件从而影响hdfs的性能,另外,因为所有文件都在同一个目录下,会导致同一个目录下文件数目过多而影响访问效率。

在创建文件的同时建立多个子目录,一个有用的方法是以reduce的taskid来建立子目录。这样有多少个reduce就可以建立多少个子目录,不会有文件冲突。同一个reduce处理的key都会在同一个目录下。

文件拼接要考虑的一个索引的问题。为了将文件索引建立的尽量简单,应该尽量保证同一个key的所有数据都在同一个大文件中。这可以利用key的hashCode来实现。如果我们想在每个目录下建立1000个文件,只需将hashCode对1000取余即可。

19/01/25 00:04:20 INFO mapreduce.Job: Task Id : attempt_1525336138932_1106_m_000000_1, Status : FAILED2019-01-25 00:04:20,075 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob - Error: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedException): Failed to create file [/result/rshadoop/hjb/tmp2/2019-01-22/23-0/2395-m-00000.gz.parquet] for [DFSClient_attempt_1525336138932_1106_m_000000_1_1358354177_1] for client [120.210.209.141], because this file is already being created by [DFSClient_attempt_1525336138932_1106_m_000000_0_-1048713570_1] on [120.210.209.137]2019-01-25 00:04:20,075 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.recoverLeaseInternal(FSNamesystem.java:3035)2019-01-25 00:04:20,075 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInternal(FSNamesystem.java:2737)2019-01-25 00:04:20,075 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:2632)2019-01-25 00:04:20,076 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:2519)2019-01-25 00:04:20,076 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:566)2019-01-25 00:04:20,076 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNamenodeProtocolServerSideTranslatorPB.java:394)2019-01-25 00:04:20,076 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)2019-01-25 00:04:20,076 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:619)2019-01-25 00:04:20,076 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:962)2019-01-25 00:04:20,077 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2039)2019-01-25 00:04:20,077 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2035)2019-01-25 00:04:20,077 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at java.security.AccessController.doPrivileged(Native Method)2019-01-25 00:04:20,077 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at javax.security.auth.Subject.doAs(Subject.java:415)2019-01-25 00:04:20,077 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)2019-01-25 00:04:20,077 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2033)2019-01-25 00:04:20,077 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob - 2019-01-25 00:04:20,078 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.ipc.Client.call(Client.java:1468)2019-01-25 00:04:20,078 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.ipc.Client.call(Client.java:1399)2019-01-25 00:04:20,078 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)2019-01-25 00:04:20,078 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at com.sun.proxy.$Proxy12.create(Unknown Source)2019-01-25 00:04:20,078 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.create(ClientNamenodeProtocolTranslatorPB.java:295)2019-01-25 00:04:20,078 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)2019-01-25 00:04:20,079 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)2019-01-25 00:04:20,079 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)2019-01-25 00:04:20,079 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at java.lang.reflect.Method.invoke(Method.java:606)2019-01-25 00:04:20,079 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)2019-01-25 00:04:20,079 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)2019-01-25 00:04:20,079 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at com.sun.proxy.$Proxy13.create(Unknown Source)2019-01-25 00:04:20,079 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.DFSOutputStream.newStreamForCreate(DFSOutputStream.java:1725)2019-01-25 00:04:20,080 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1668)2019-01-25 00:04:20,080 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1593)2019-01-25 00:04:20,080 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.DistributedFileSystem$6.doCall(DistributedFileSystem.java:397)2019-01-25 00:04:20,080 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.DistributedFileSystem$6.doCall(DistributedFileSystem.java:393)2019-01-25 00:04:20,080 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)2019-01-25 00:04:20,080 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:393)2019-01-25 00:04:20,081 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:337)2019-01-25 00:04:20,081 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:908)2019-01-25 00:04:20,081 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:889)2019-01-25 00:04:20,081 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:786)2019-01-25 00:04:20,081 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.parquet.hadoop.ParquetFileWriter.<init>(ParquetFileWriter.java:176)2019-01-25 00:04:20,081 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.parquet.hadoop.ParquetFileWriter.<init>(ParquetFileWriter.java:160)2019-01-25 00:04:20,081 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.parquet.hadoop.ParquetOutputFormat.getRecordWriter(ParquetOutputFormat.java:289)2019-01-25 00:04:20,082 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.parquet.hadoop.ParquetOutputFormat.getRecordWriter(ParquetOutputFormat.java:262)2019-01-25 00:04:20,082 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.mapreduce.lib.output.MultipleOutputs.getRecordWriter(MultipleOutputs.java:475)2019-01-25 00:04:20,082 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.mapreduce.lib.output.MultipleOutputs.write(MultipleOutputs.java:433)2019-01-25 00:04:20,082 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at com.rs.java.mapreduce.dnsSave.DnsSaveMR$DSMapper2.map(DnsSaveMR.java:643)2019-01-25 00:04:20,082 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at com.rs.java.mapreduce.dnsSave.DnsSaveMR$DSMapper2.map(DnsSaveMR.java:595)2019-01-25 00:04:20,082 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)2019-01-25 00:04:20,082 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784)2019-01-25 00:04:20,083 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)2019-01-25 00:04:20,083 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)2019-01-25 00:04:20,083 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at java.security.AccessController.doPrivileged(Native Method)2019-01-25 00:04:20,083 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at javax.security.auth.Subject.doAs(Subject.java:415)2019-01-25 00:04:20,083 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)2019-01-25 00:04:20,083 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)2019-01-25 00:04:20,083 [DefaultQuartzScheduler_Worker-1] INFO  com.rs.java.job.dnsSave.ExcuteDnsSaveJob -

Hadoop推测执行机制问题的更多相关文章

  1. hadoop 错误处理机制

    hadoop 错误处理机制 1.硬件故障 硬件故障是指jobtracker故障或TaskTracker 故障 jobtracker是单点,若发生故障,目前hadoop 还无法处理,唯有选择最牢靠的硬件 ...

  2. HADOOP高可用机制

    HADOOP高可用机制 HA运作机制 什么是HA HADOOP如何实现HA HDFS-HA详解 HA集群搭建 目标: 掌握分布式系统中HA机制的思想 掌握HADOOP内置HA的运作机制 掌握HADOO ...

  3. hadoop的RPC机制 -源码分析

    这些天一直奔波于长沙和武汉之间,忙着腾讯的笔试.面试,以至于对hadoop RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上 ...

  4. Hadoop的RPC机制源码分析

    分析对象: hadoop版本:hadoop 0.20.203.0 必备技术点: 1. 动态代理(参考 :http://www.cnblogs.com/sh425/p/6893662.html )2. ...

  5. 源码级强力分析hadoop的RPC机制

    分析对象: hadoop版本:hadoop 0.20.203.0 必备技术点: 1. 动态代理(参考 :http://weixiaolu.iteye.com/blog/1477774 )2. Java ...

  6. JavaScript定时器与执行机制解析

    从JS执行机制说起 浏览器(或者说JS引擎)执行JS的机制是基于事件循环. 由于JS是单线程,所以同一时间只能执行一个任务,其他任务就得排队,后续任务必须等到前一个任务结束才能开始执行. 为了避免因为 ...

  7. 深入理解JVM--类的执行机制

    在完成将class文件信息加载到JVM并产生class对象之后,就可以执行Class对象的静态方法或者实例方法对对象进行调用了.JVM在源代码编译阶段将源代码编译为字节码文件,字节码是一种中间代码的方 ...

  8. linux上应用程序的执行机制

    linux上应用程序的执行机制 执行文件是如何在shell中被"执行"的.本文中尽可能少用一些源码,免得太过于无 聊,主要讲清这个过程,感兴趣的同学可以去查看相应的源码了解更多的信 ...

  9. java执行机制

    java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码 ...

随机推荐

  1. 网页音乐播放器javascript实现,可以显示歌词

    可以显示歌词,但是歌词和歌曲都要实现自己下载下来.只能播放一首歌,歌词还得是lrc格式的代码写的很罗嗦,急切希望帮改改CSS的代码​1.代码:<html >    <head> ...

  2. 数据库sqlite3的使用-ios中引用方法

    一.简单说明 在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件. 导入头文件,可以使用库中的函数(是纯C语言的) 二.具体说明 新建一个项目,在项目的主界面 ...

  3. Activity并行网关和排他网关

    说一说activiti中的排他网关和并行网关 activiti工作流中我们经常用到的网关有两种: 1. Exclusive Gateway 排他网关 排他网关.png 排他网关(也叫异或(XOR)网关 ...

  4. 【SCOI 2005】 繁忙的都市

    [题目链接] 点击打开链接 [算法] 题目描述比较繁琐,但细心观察后,发现其实就是用kruskal算法求最小生成树 [代码] #include<bits/stdc++.h> using n ...

  5. 细数vue爬坑之路<坑路大集合>

    坑爹集锦一: npm出现Newline required at end of file but not found错误 原因:eslint语法错误(vue为后缀名的组件结尾没有换行) 解决办法:在结尾 ...

  6. asp.net MVC 使用Bootstrap 分页

    Boostrap分页控件比较美观, 控制器代码:使用仓储模式实现.如果是直接使用DbContext上下文使用更简单. public ActionResult Index(int? page,strin ...

  7. Ruby IO类

    更新: 2017/06/23   表格大小全部改为100%                             文件输入输出的File....系列函数的文件名参数是字符串! 更新: 2017/06 ...

  8. bzoj 1025: [SCOI2009]游戏【数学+dp】

    很容易发现行数就是lcm环长,也就是要求和为n的若干数lcm的个数 有结论若p1^a1+p2^a2+...+pm^am<=n,则ans=p1^a1p2^a2..*pm^am是n的一个可行答案.( ...

  9. 洛谷 P1941 飞扬的小鸟【dp】

    设f[i][j]为在坐标(i,j)时的最小点击次数,转移的话从i-1向上飞或者向下掉转移,注意转移完了之后要把管子部分赋值为inf #include<iostream> #include& ...

  10. bzoj 3205: [Apio2013]机器人【dfs+斯坦纳树+spfa】

    第一次听说斯坦纳树这种东西 先dfs预处理出来dis[i][j][k]表示格子(i,j)向k方向转移能到哪,记忆话搜索预处理,注意如果有环的话特判一下 设f[i][j][x][y]表示复合机器人i-j ...