我正在使用 HDP 2.3.0.0-2557,并且我正在尝试运行如下所示的配置单元查询:
beeline> !connect jdbc:hive2://localhost:10000
Connecting to jdbc:hive2://localhost:10000
Enter username for jdbc:hive2://localhost:10000: root
Enter password for jdbc:hive2://localhost:10000: ******
Connected to: Apache Hive (version 1.2.1.2.3.0.0-2557)
Driver: Hive JDBC (version 1.2.1.2.3.0.0-2557)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://localhost:10000> select * from iitest1;
+----------------+----------------+----------------+----------------+----------------+----------------+-------------------------------------------------------------------------------------------------------+--+
| iitest1.it1c1 | iitest1.it1c2 | iitest1.it1c3 | iitest1.it1c4 | iitest1.it1c5 | iitest1.it1c6 | iitest1.it1c7 |
+----------------+----------------+----------------+----------------+----------------+----------------+-------------------------------------------------------------------------------------------------------+--+
| 10 | 84000 | A | A | Jonathan | Liu | DGGBNEKBRXLBGKTPAGNPEBOQPIPDUAJLTLMRATQPKFPULKKXKGFFWHGOXFFJFLIFKITHKUQSPNFLQKFUIWHXLSTHPBKLMNUSQWOB |
| 56 | 46000 | F | F | 12345 | 12345 | GIIWEVNSPPRLRDKWIXAUFHVNNJISHUWQADQMLWDBRWKWFSXDDXBGDVFRAWEOBTXXRTMMMAOIQUSQBEUGMQKNHFEBFUQECDAOWJMN |
| 45 | 77000 | K | K | Lucy | King | HJMTHFFEQBSSCHWSGKNHIQFNKMQFNQHQKNTGSRLVFFJXOAFTDARTMVOCWFIAMICLAVCJBWVKQWAPLBEXMLDGGSVVDJXBDTFLQORQ |
| NULL | 77000 | K | K | Lucy | King | HJMTHFFEQBSSCHWSGKNHIQFNKMQFNQHQKNTGSRLVFFJXOAFTDARTMVOCWFIAMICLAVCJBWVKQWAPLBEXMLDGGSVVDJXBDTFLQORQ |
+----------------+----------------+----------------+----------------+----------------+----------------+-------------------------------------------------------------------------------------------------------+--+
4 rows selected (8.578 seconds)
0: jdbc:hive2://localhost:10000> select max(it1c1) from iitest1;
INFO : Tez session hasn't been created yet. Opening session
之后什么也没有出现,看来“Tez”出了问题
此外,我尝试使用“mapreduce”而不是“tez”运行相同的查询,并且mapreduce作业也挂起(使用
hive -hiveconf hive.execution.engine=mr
启动hive CLI
hive> select max(IT1C1+IT1C2) from iitest1;
Query ID = root_20160713172448_09ccc9e6-c70d-4e56-b428-e511f62db9a6
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapreduce.job.reduces=<number>
Starting Job = job_1468423564920_0003, Tracking URL = http://sandbox.hortonworks.com:8088/proxy/application_1468423564920_0003/
Kill Command = /usr/hdp/2.3.0.0-2557/hadoop/bin/hadoop job -kill job_1468423564920_0003
Interrupting... Be patient, this might take some time.
Press Ctrl+C again to kill JVM
killing job with: job_1468423564920_0003
Hadoop job information for Stage-1: number of mappers: 0; number of reducers: 0
2016-07-13 17:49:56,510 Stage-1 map = 0%, reduce = 0%
Ended Job = job_1468423564920_0003 with errors
Error during job, obtaining debugging information...
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched:
Stage-Stage-1: HDFS Read: 0 HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec
hive> exit
> ;
我想知道是否有人可以提供一些有关如何解决该问题的指示?
非常感谢!
编辑1:我找到了以下链接,并且根据该链接,似乎tez没有足够的资源。所以,我想知道如何清理占用的资源,以便我有足够的资源用于 tez。
我也遇到过类似的问题。可能是另一个进程阻止了 Tez 会话的运行 - 在我的例子中是 Spark Thrift 服务器阻止了它。监视 ResourceManager 节点上的内容(Web UI 默认端口为 8088,请参见页面底部此处)。一旦 Thrift 服务器被杀死,它就会像魅力一样运行!
我和你有同样的问题。
我通过修改以下内容解决了它..
减少 Tez 配置:tez.am.resource.memory.mb =256
默认 2048 .
并增加Yarn:为节点上所有YARN容器分配的内存。
我猜在 hive cli 上使用 Tez 需要 {tez.am.resource.memory.mb} 内存。当{为节点上的所有 YARN 容器分配内存}时没有足够的内存。然后Application-id就挂了。