【问题标题】:Failure after tez shuffle handler setup : Map operator initialization failedtez shuffle 处理程序设置后失败:映射运算符初始化失败
【发布时间】:2020-12-18 07:44:47
【问题描述】:

设置 Tez Shuffle 处理程序后,请遵循以下说明:https://tez.apache.org/shuffle-handler.html 我在查询执行中遇到以下错误:

顶点失败,vertexname = map 2,vertexid = vertex_1608273679503_0002_2_01,诊断= [任务失败,taskId = task_1608273679503_0002_2_01_000000,诊断= [taskattept 0失败,info = [错误:运行任务时出现错误:错误_1608273679503_0002_2_01_00000000_0:java.lang .RuntimeException:java.lang.RuntimeException:映射运算符初始化失败 在 org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:296) 在 org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:250) 在 org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:374) 在 org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:73) 在 org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:61) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:422) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1729) 在 org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:61) 在 org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:37) 在 org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36) 在 org.apache.hadoop.hive.llap.daemon.impl.StatsRecordingThreadPool$WrappedCallable.call(StatsRecordingThreadPool.java:110) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) 引起:java.lang.RuntimeException:映射运算符初始化失败 在 org.apache.hadoop.hive.ql.exec.tez.MapRecordProcessor.init(MapRecordProcessor.java:363) 在 org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:266) ... 15 更多 原因:org.apache.hadoop.hive.ql.metadata.HiveException:异步初始化失败。中止请求=假 在 org.apache.hadoop.hive.ql.exec.Operator.completeInitialization(Operator.java:461) 在 org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:395) 在 org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:568) 在 org.apache.hadoop.hive.ql.exec.Operator.initializeChildren(Operator.java:520) 在 org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:381) 在 org.apache.hadoop.hive.ql.exec.tez.MapRecordProcessor.init(MapRecordProcessor.java:335) ... 16 更多 引起:org.apache.hadoop.hive.ql.metadata.HiveException:org.apache.hadoop.hive.ql.metadata.HiveException:java.lang.NullPointerException 在 org.apache.hadoop.hive.ql.exec.tez.LlapObjectCache.retrieve(LlapObjectCache.java:118) 在 org.apache.hadoop.hive.ql.exec.tez.LlapObjectCache$1.call(LlapObjectCache.java:143) ... 4 更多 引起:org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.NullPointerException 在 org.apache.hadoop.hive.ql.exec.vector.mapjoin.fast.VectorMapJoinFastHashTableLoader.load(VectorMapJoinFastHashTableLoader.java:113) 在 org.apache.hadoop.hive.ql.exec.MapJoinOperator.loadHashTableInternal(MapJoinOperator.java:331) 在 org.apache.hadoop.hive.ql.exec.MapJoinOperator.loadHashTable(MapJoinOperator.java:400) 在 org.apache.hadoop.hive.ql.exec.MapJoinOperator.lambda$initializeOp$0(MapJoinOperator.java:207) 在 org.apache.hadoop.hive.ql.exec.tez.LlapObjectCache.retrieve(LlapObjectCache.java:116) ... 5 更多 引起:java.lang.NullPointerException 在 org.apache.tez.runtime.api.impl.TezTaskContextImpl.getServiceConsumerMetaData(TezTaskContextImpl.java:190) 在 org.apache.tez.runtime.library.common.shuffle.impl.ShuffleManager.(ShuffleManager.java:264) 在 org.apache.tez.runtime.library.input.UnorderedKVInput.start(UnorderedKVInput.java:146) 在 org.apache.hadoop.hive.ql.exec.vector.mapjoin.fast.VectorMapJoinFastHashTableLoader.load(VectorMapJoinFastHashTableLoader.java:109) ... 9 更多

有人可以帮忙吗?

【问题讨论】:

    标签: hadoop hive apache-tez


    【解决方案1】:

    LLAP 在内部使用 MAP-REDUCE shuffle 处理程序,因为在 TEZ 代码中我们有一个硬编码的常量 TEZ_SHUFFLE_HANDLER_SERVICE_ID = "mapreduce_shuffle"。 https://github.com/apache/tez/blob/master/tez-api/src/main/java/org/apache/tez/dag/api/TezConstants.java

    因此,当我们将 tez_shuffle 与 LLAP 一起使用时,它会给出“NullpointerException”。

    【讨论】:

      猜你喜欢
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 2012-09-10
      相关资源
      最近更新 更多