问题标签 [apache-tez]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hive - tez 上的 hive 抛出 java.lang.NoSuchMethodError
我已经部署了 tez 并配置了 hive 以在 tez 上工作。
简单查询在 reducer 阶段失败。
它抛出这个错误:
状态:正在运行(在 YARN 集群上执行,App id 为 application_1469020577348_0014)
顶点状态总计已完成运行等待失败已杀死
地图 1 成功 0 0 0 0 0 0
减速机 2 失败 1 0 0 1 4 0
顶点:01/02 [>>--------------------------] 0% 已用时间:12.15 秒
Status: Failed Vertex failed, vertexName=Reducer 2, vertexId=vertex_1469020577348_0014_1_01, diagnostics=[Task failed, taskId=task_1469020577348_0014_1_01_000000, diagnostics=[TaskAttempt 0 failed, info=[Error: Error while running task ( failure ) : attempt_1469020577348_0014_1_01_000000_0:java.lang .Exception:java.util.concurrent.ExecutionException:java.lang.NoSuchMethodError:org.apache.hadoop.mapred.TaskID:方法(Ljava/lang/String;ILorg/apache/hadoop/mapreduce/TaskType;I)V未找到在 org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.initialize(LogicalIOProcessorRuntimeTask.java:267) 在 org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:69) 在 org.apache.tez.runtime。 java.security.AccessController 中的 task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:61)。doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) at org.apache.tez.runtime。 task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:61) at org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:37) at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java: 36) 在 java.util.concurrent.FutureTask.run(FutureTask.java:262) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor .java:615) 在 java.lang.Thread.run(Thread.java:745) 引起:java.util.concurrent.ExecutionException:java.lang.NoSuchMethodError:org.apache.hadoop.mapred.TaskID:方法 (Ljava/lang/String;ILorg/apache/hadoop/mapreduce/TaskType;I)V 未找到
hive - org.apache.thrift.transport.TTransportException:java.net.SocketTimeoutException:读取超时
我在 hive 中的 SQL 语句之前有以下设置。但是,它无法提交查询,我不断收到 TimeoutException。当我检查 TEZ 视图时,只执行了第一个分析语句。我可以知道这个超时的原因可能是什么吗?
mapreduce - tez 引擎上的 Hive
目前在我们的生产环境中,我们在 tez 上使用 hive 而不是 mapreduce 引擎,所以我想问一下所有用于连接的 hive 优化是否也与 tez 相关?例如在多表中,有人提到如果连接键相同,那么它将使用单个映射减少作业,但是当我在我们的环境中检查 HQL 时,我们正在加入一个左外表,同一键上有许多表,我没有看到 1减速器,实际上有 17 个减速器在运行。是不是因为 tez 上的 hive 与 mr 上的 hive 不同?
Hive 版本:1.2 Hadoop:2.7 以下是它提到仅使用 1 个减速器的文档 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Joins
mapreduce - Hive-Tez 上的 Map-Reduce 日志
我想在 Hive-Tez 上运行查询后获得 Map-Reduce 日志的解释?INFO: 之后的行传达了什么?在这里我附上了一个样本
hive - 作为 Hive 执行引擎,Tez 总是比 MR 更好吗?
通常对于较小的查询(期望以交互方式获得结果,在几分钟内,而不是几小时内)Tez 性能更好,而对于批量查询(需要数小时),MR 作为执行引擎的性能是否更好?或者我们可以说无论查询类型如何,Tez 始终是最佳选择?
hadoop - Hive 比 Spark 快吗?
看完什么是hive,是数据库吗?,昨天有同事提到他可以过滤一个15B的表,在“group by”后与另一个表连接,结果是6B的记录,只用了10分钟!我想知道这在 Spark 中是否会更慢,因为现在使用 DataFrame,它们可能具有可比性,但我不确定,因此是这个问题。
Hive 比 Spark 快吗?还是这个问题没有意义?对不起,我的无知。
他使用最新的 Hive,它似乎在使用 Tez。
amazon-web-services - 为什么 AWS EMR 中缺少 hive_staging 文件
问题 -
我在 AWS EMR 中运行 1 个查询。它因抛出异常而失败 -
我在下面提到了这个问题的所有相关信息。请检查。
询问 -
例外 -
Hive 配置属性,我在执行上述查询之前设置。-
/etc/hive/conf/hive-site.xml
/etc/tez/conf/tez-site.xml
问题 -
- 哪个进程删除了这个文件?对于 hive,这个文件应该只存在。(此外,此文件不是由应用程序代码创建的。)
- 当我运行失败的查询次数时,它通过了。为什么会有模棱两可的行为?
- 因为,我刚刚将 hive-exec、hive-jdbc 版本升级到 2.1.0。因此,似乎某些配置单元配置属性设置错误或缺少某些属性。你能帮我找到错误设置/错过的蜂巢属性吗?
注意 - 我将 hive-exec 版本从 0.13.0 升级到 2.1.0。在以前的版本中,所有查询都工作正常。
更新 1
当我启动另一个集群时,它运行良好。我在同一个 ETL 上测试了 3 次。
当我在新集群上再次做同样的事情时,它显示了同样的异常。无法理解,为什么会发生这种模棱两可的情况。
帮助我理解这种歧义。
我在与 Hive 打交道时很天真。因此,对此有较少的概念性想法。
更新-2-
集群公共 DNS 名称下的 hfs 日志:50070 -
2016-09-20 11:31:55,155 WARN org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy (IPC Server handler 11 on 8020): Failed to place enough replicas, still in need of 1 to reach 1 (unavailableStorages=[], storagePolicy=BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]}, newBlock=true) For more information, please enable DEBUG log level on org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy 2016-09-20 11:31:55,155 WARN org.apache.hadoop.hdfs.protocol.BlockStoragePolicy (IPC Server handler 11 on 8020): Failed to place enough replicas: expected size is 1 but only 0 storage types can be selected (replication=1, selected=[], unavailable=[DISK], removed=[DISK], policy=BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]}) 2016-09-20 11:31:55,155 WARN org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy (IPC Server handler 11 on 8020): Failed to place enough replicas, still in need of 1 to reach 1 (unavailableStorages=[DISK], storagePolicy=BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]}, newBlock=true) All required storage types are unavailable: unavailableStorages=[DISK], storagePolicy=BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]} 2016-09-20 11:31:55,155 INFO org.apache.hadoop.ipc.Server (IPC Server handler 11 on 8020): IPC Server handler 11 on 8020, call org.apache.hadoop.hdfs.protocol.ClientProtocol.addBlock from 172.30.2.207:56462 Call#7497 Retry#0 java.io.IOException: File /user/hive/warehouse/bc_kmart_3813.db/dp_internal_temp_full_load_offer_flexibility_20160920/.hive-staging_hive_2016-09-20_11-17-51_558_1222354063413369813-58/_task_tmp.-ext-10000/_tmp.000079_0 could only be replicated to 0 nodes instead of minReplication (=1). There are 1 datanode(s) running and no node(s) are excluded in this operation. at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:1547) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getNewBlockTargets(FSNamesystem.java:3107) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:3031) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:724) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:492) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:969) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2043)
当我搜索这个异常时。我找到了这个页面 - https://wiki.apache.org/hadoop/CouldOnlyBeReplicatedTo
在我的集群中,有一个具有 32 GB 磁盘空间的数据节点。
** /etc/hive/conf/hive-default.xml.template - **
问题-
- 根据日志,在集群机器中创建 hive-staging 文件夹,根据/var/log/hadoop-hdfs/hadoop-hdfs-datanode-ip-172-30-2-189.log,那么为什么它创建相同的文件夹在s3也?
更新-3-
一些例外是类型 - LeaseExpiredException -
2016-09-21 08:53:17,995 INFO org.apache.hadoop.ipc.Server (IPC Server handler 13 on 8020): IPC Server handler 13 on 8020, call org.apache.hadoop.hdfs.protocol.ClientProtocol.complete from
172.30.2.189:42958 Call#726 Retry#0: org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException: No lease on /tmp/hive/hadoop/_tez_session_dir/6ebd2d18-f5b9-4176-ab8f-d6c78124b636/.tez/application_1474442135017_0022/recovery/1/summary (inode 20326): File does not exist. Holder DFSClient_NONMAPREDUCE_1375788009_1 does not have any open files.
hadoop - 了解 Hive 查询计划
我有模拟数据的查询及其关联的查询和查询计划(请参阅要点)。
表 lte_data_tenmillion 的行数为 10000000 表订阅者数据的行数为 100000
对于这两个表,subscriber_id 列中的行都没有空值。
我发现很难理解,为什么查询计划显示扫描的行数(在应用谓词后:subscriber_id is not null (type: boolean))正好是原始行数的一半。
订阅者表的过滤器运算符也是如此。
此外,如“文件输出运算符 [FS_20]”中所述,结果数据的总行数为 5500000。但是结果表中的实际行数为 2499723。
我可能错误地解释了查询计划。如果有人能清除我在查询计划和实际结果中观察到的不一致之处,我将不胜感激。
谢谢!
apache - 为什么 hdfs 在 Hadoop 集群 (AWS EMR) 中抛出 LeaseExpiredException
我在 hadoop 集群中收到 LeaseExpiredException -
尾 -f /var/log/hadoop-hdfs/hadoop-hdfs-namenode-ip-172-30-2-148.log
2016-09-21 11:54:14,533 INFO BlockStateChange(8020 上的 IPC 服务器处理程序 10):BLOCK* InvalidateBlocks:将 blk_1073747501_6677 添加到 172.30.2.189:50010 2016-09-21 11:54:14,534 INFO org.apache.hadoop。 ipc.Server (IPC Server handler 31 on 8020): IPC Server handler 31 on 8020, call org.apache.hadoop.hdfs.protocol.ClientProtocol.complete from 172.30.2.189:37674 Call#34 Retry#0: org.apache。 hadoop.hdfs.server.namenode.LeaseExpiredException:/tmp/hive/hadoop/_tez_session_dir/1e4f71f0-9f29-468d-980e-9f19690bf849/.tez/application_1474442135017_0114/recovery/1/summary(inode 26350)上没有租约:文件没有存在。持有人 DFSClient_NONMAPREDUCE_-143782605_1 没有任何打开的文件。2016-09-21 11:54:15,557 INFO org.apache.hadoop.hdfs.StateChange(8020 上的 IPC 服务器处理程序 0):
而且,一些配置单元查询也失败了。我猜,是因为上面的问题。
tail -f /var/log/hive/hive-server2.log
启用 DEBUG 模式的 Hive 日志 -
以绿色突出显示的异常。
据我了解,就在异常之前,它将文件名替换为其他名称,所有这些都发生在 S3 中。因为,S3 最终是一致的,这就是为什么有时它会显示这个异常,有时它会工作文件。
https://docs.google.com/document/d/1cwXVqQ3p-xPFcBqU9AuD7C8z8rHjhUIHwPjY-nVpFK0/edit?usp=sharing
在执行查询之前还要设置 hive 配置属性 -
集群详情 -
- 一个具有 32 GB 磁盘空间的数据节点。
- Hive - 2.1.0,执行引擎 - tez 0.8.3
- Hadoop - 2.7.2
问题-
- 为什么会抛出 LeaseExpiredException ?
- 是否与 LeaseExpiredException 相关的 Hive 查询失败?
- 是因为错误的配置单元配置属性吗?
更新 1
根据这个答案 - LeaseExpiredException: No lease error on HDFS (Failed to close file),
我添加了
但随后也显示出同样的异常。