java.lang.runtimeexception:org.apache.hadoop.hive.ql.metadata.hiveexception:org.apache.hadoop.ipc.remoteexception:java.io.ioexception:

r1wp621o  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(415)

在尝试运行配置单元查询以将数据插入配置单元外部表时,我遇到了一个问题。进程在reduce处失败。
诊断控制台消息如下:

  1. Task with the most failures(4):
  2. -----
  3. Task ID:
  4. task_201709171147_0059_r_000005
  5. URL:
  6. http://localhost:50030/taskdetails.jsp?jobid=job_201709171147_0059&tipid=task_201709171147_0059_r_000005
  7. -----
  8. Diagnostic Messages for this Task:
  9. java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /tmp/hive-gms/hive_2017-09-17_15-05-39_454_6420114297268603231/_task_tmp.-mr-10007/_tmp.000005_3 could only be replicated to 0 nodes, instead of 1
  10. at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1920)
  11. at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:783)
  12. at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
  13. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  14. at java.lang.reflect.Method.invoke(Method.java:597)
  15. at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:587)
  16. at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1432)
  17. at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1428)
  18. at java.security.AccessController.doPrivileged(Native Method)
  19. at javax.security.auth.Subject.doAs(Subject.java:396)
  20. at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
  21. at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1426)
  22. at org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:270)
  23. at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:522)
  24. at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:421)
  25. at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
  26. at java.security.AccessController.doPrivileged(Native Method)
  27. at javax.security.auth.Subject.doAs(Subject.java:396)
  28. at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
  29. at org.apache.hadoop.mapred.Child.main(Child.java:249)
  30. Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /tmp/hive-gms/hive_2017-09-17_15-05-39_454_6420114297268603231/_task_tmp.-mr-10007/_tmp.000005_3 could only be replicated to 0 nodes, instead of 1
  31. at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1920)
  32. at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:783)
  33. at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
  34. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  35. at java.lang.reflect.Method.invoke(Method.java:597)
  36. at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:587)
  37. at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1432)
  38. at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1428)
  39. at java.security.AccessController.doPrivileged(Native Method)
  40. at javax.security.auth.Subject.doAs(Subject.java:396)
  41. at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
  42. at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1426)
  43. at org.apache.hadoop.hive.ql.exec.FileSinkOperator.processOp(FileSinkOperator.java:620)
  44. at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:474)
  45. at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:800)
  46. at org.apache.hadoop.hive.ql.exec.GroupByOperator.forward(GroupByOperator.java:1061)
  47. at org.apache.hadoop.hive.ql.exec.GroupByOperator.flush(GroupByOperator.java:1027)
  48. at org.apache.hadoop.hive.ql.exec.GroupByOperator.processHashAggr(GroupByOperator.java:866)
  49. at org.apache.hadoop.hive.ql.exec.GroupByOperator.processKey(GroupByOperator.java:751)
  50. at org.apache.hadoop.hive.ql.exec.GroupByOperator.processOp(GroupByOperator.java:819)
  51. at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:474)
  52. at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:800)
  53. at org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:84)
  54. at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:474)
  55. at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:800)
  56. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.createForwardJoinObject(CommonJoinOperator.java:392)
  57. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genObject(CommonJoinOperator.java:715)
  58. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genObject(CommonJoinOperator.java:697)
  59. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genObject(CommonJoinOperator.java:697)
  60. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genObject(CommonJoinOperator.java:697)
  61. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genObject(CommonJoinOperator.java:697)
  62. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genObject(CommonJoinOperator.java:697)
  63. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.checkAndGenObject(CommonJoinOperator.java:851)
  64. at org.apache.hadoop.hive.ql.exec.JoinOperator.endGroup(JoinOperator.java:266)
  65. at org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:200)
  66. ... 7 more
  67. Caused by: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /tmp/hive-gms/hive_2017-09-17_15-05-39_454_6420114297268603231/_task_tmp.-mr-10007/_tmp.000005_3 could only be replicated to 0 nodes, instead of 1
  68. at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1920)
  69. at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:783)
  70. at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
  71. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  72. at java.lang.reflect.Method.invoke(Method.java:597)
  73. at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:587)
  74. at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1432)
  75. at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1428)
  76. at java.security.AccessController.doPrivileged(Native Method)
  77. at javax.security.auth.Subject.doAs(Subject.java:396)
  78. at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
  79. at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1426)
  80. at org.apache.hadoop.ipc.Client.call(Client.java:1113)
  81. at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:229)
  82. at $Proxy2.addBlock(Unknown Source)
  83. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  84. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  85. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  86. at java.lang.reflect.Method.invoke(Method.java:597)
  87. at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:85)
  88. at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:62)
  89. at $Proxy2.addBlock(Unknown Source)
  90. at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.locateFollowingBlock(DFSClient.java:3720)
  91. at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:3580)
  92. at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2600(DFSClient.java:2783)
  93. at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:3023)
  94. FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
  95. MapReduce Jobs Launched:
  96. Job 0: Map: 60 Reduce: 16 Cumulative CPU: 1488.73 sec HDFS Read: 15611147485 HDFS Write: 6697774964 SUCCESS
  97. Job 1: Map: 41 Reduce: 11 Cumulative CPU: 2231.76 sec HDFS Read: 10853652873 HDFS Write: 8893984114 SUCCESS
  98. Job 2: Map: 31 Reduce: 10 Cumulative CPU: 2426.38 sec HDFS Read: 9165529191 HDFS Write: 8927047843 SUCCESS
  99. Job 3: Map: 33 Reduce: 10 Cumulative CPU: 2469.67 sec HDFS Read: 9198570523 HDFS Write: 9003617537 SUCCESS
  100. Job 4: Map: 33 Reduce: 10 Cumulative CPU: 2519.58 sec HDFS Read: 9275146392 HDFS Write: 9032825573 SUCCESS
  101. Job 5: Map: 33 Reduce: 10 Cumulative CPU: 2607.76 sec HDFS Read: 9304360085 HDFS Write: 9107047528 SUCCESS
  102. Job 6: Map: 34 Reduce: 10 Cumulative CPU: 2624.55 sec HDFS Read: 9378577538 HDFS Write: 15269385865 FAIL
  103. Total MapReduce CPU Time Spent: 0 days 4 hours 32 minutes 48 seconds 430 msec

来自jobtracker web ui的日志消息如下:

  1. java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /tmp/hive-gms/hive_2017-09-17_15-05-39_454_6420114297268603231/_task_tmp.-mr-10007/_tmp.000004_0 could only be replicated to 0 nodes, instead of 1
  2. at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1920)
  3. at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:783)
  4. at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
  5. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  6. at java.lang.reflect.Method.invoke(Method.java:597)
  7. at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:587)
  8. at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1432)
  9. at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1428)
  10. at java.security.AccessController.doPrivileged(Native Method)
  11. at javax.security.auth.Subject.doAs(Subject.java:396)
  12. at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
  13. at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1426)
  14. at org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:270)
  15. at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:522)
  16. at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:421)
  17. at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
  18. at java.security.AccessController.doPrivileged(Native Method)
  19. at javax.security.auth.Subject.doAs(Subject.java:396)
  20. at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
  21. at org.apache.hadoop.mapred.Child.main(Child.java:249)
  22. Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /tmp/hive-gms/hive_2017-09-17_15-05-39_454_6420114297268603231/_task_tmp.-mr-10007/_tmp.000004_0 could only be replicated to 0 nodes, instead of 1
  23. at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1920)
  24. at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:783)
  25. at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
  26. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  27. at java.lang.reflect.Method.invoke(Method.java:597)
  28. at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:587)
  29. at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1432)
  30. at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1428)
  31. at java.security.AccessController.doPrivileged(Native Method)
  32. at javax.security.auth.Subject.doAs(Subject.java:396)
  33. at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
  34. at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1426)
  35. at org.apache.hadoop.hive.ql.exec.FileSinkOperator.processOp(FileSinkOperator.java:620)
  36. at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:474)
  37. at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:800)
  38. at org.apache.hadoop.hive.ql.exec.GroupByOperator.forward(GroupByOperator.java:1061)
  39. at org.apache.hadoop.hive.ql.exec.GroupByOperator.processAggr(GroupByOperator.java:885)
  40. at org.apache.hadoop.hive.ql.exec.GroupByOperator.processKey(GroupByOperator.java:753)
  41. at org.apache.hadoop.hive.ql.exec.GroupByOperator.processOp(GroupByOperator.java:819)
  42. at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:474)
  43. at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:800)
  44. at org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:84)
  45. at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:474)
  46. at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:800)
  47. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.createForwardJoinObject(CommonJoinOperator.java:392)
  48. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genObject(CommonJoinOperator.java:715)
  49. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genObject(CommonJoinOperator.java:697)
  50. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genObject(CommonJoinOperator.java:697)
  51. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genObject(CommonJoinOperator.java:697)
  52. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genObject(CommonJoinOperator.java:697)
  53. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genObject(CommonJoinOperator.java:697)
  54. at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.checkAndGenObject(CommonJoinOperator.java:851)
  55. at org.apache.hadoop.hive.ql.exec.JoinOperator.endGroup(JoinOperator.java:266)
  56. at org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:200)
  57. ... 7 more
  58. Caused by: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /tmp/hive-gms/hive_2017-09-17_15-05-39_454_6420114297268603231/_task_tmp.-mr-10007/_tmp.000004_0 could only be replicated to 0 nodes, instead of 1
  59. at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1920)
  60. at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:783)
  61. at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
  62. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  63. at java.lang.reflect.Method.invoke(Method.java:597)
  64. at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:587)
  65. at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1432)
  66. at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1428)
  67. at java.security.AccessController.doPrivileged(Native Method)
  68. at javax.security.auth.Subject.doAs(Subject.java:396)
  69. at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
  70. at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1426)
  71. at org.apache.hadoop.ipc.Client.call(Client.java:1113)
  72. at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:229)
  73. at $Proxy2.addBlock(Unknown Source)
  74. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  75. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  76. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  77. at java.lang.reflect.Method.invoke(Method.java:597)
  78. at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:85)
  79. at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:62)
  80. at $Proxy2.addBlock(Unknown Source)
  81. at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.locateFollowingBlock(DFSClient.java:3720)
  82. at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:3580)
  83. at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2600(DFSClient.java:2783)
  84. at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:3023)
  85. Last 4KB
  86. Last 8KB
  87. All
  88. attempt_201709171147_0059_r_000005_0 task_201709171147_0059_r_000005 gmdatal01-p1.ilcb.tcprod.local FAILED

我已经为配置单元设置了动态分区:

  1. set hive.exec.dynamic.partitions = true
  2. set hive.exec.dynamic.partitions.mode = nonstrict

我还格式化了namenode,并再次尝试,但错误不会消失。

fhg3lkii

fhg3lkii1#

问题的根本原因似乎与空间有关。我使用了一个连接几个大表的查询,由于数据是倾斜的,hive开始创建大的临时表,因为磁盘上没有空间。我将配置文件恢复为默认值,并压缩中间结果(配置文件)以获得结果。

相关问题