gpt4 book ai didi

hadoop - 配置单元执行失败错误从 org.apache.hadoop.hive.ql.exec.mapredtask 返回代码 2

转载 作者:可可西里 更新时间:2023-11-01 14:35:49 26 4
gpt4 key购买 nike

我有一个问题。它在 Hive CLI 上执行良好并返回结果。但是当我在 Hive JDBC 的帮助下执行它时,出现以下错误:

java.sql.SQLException: Query returned non-zero code: 9, cause: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:192)

问题是什么?我还通过 Shell 脚本启动 Hive Thrift 服务器。 (我写了一个 shell 脚本,它有启动 Hive Thrift Server 的命令)后来我决定通过键入命令手动启动 Hive Thrift Server:

hadoop@ubuntu:~/hive-0.7.1$ bin/hive --service hiveserver
Starting Hive Thrift Server
org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.0.0:10000.
at org.apache.thrift.transport.TServerSocket.<init>(TServerSocket.java:99)
at org.apache.thrift.transport.TServerSocket.<init>(TServerSocket.java:80)
at org.apache.thrift.transport.TServerSocket.<init>(TServerSocket.java:73)
at org.apache.hadoop.hive.service.HiveServer.main(HiveServer.java:384)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:186)

hadoop@ubuntu:~/hive-0.7.1$

请帮我解决这个问题。谢谢

最佳答案

对于这个错误:
java.sql.SQLException:查询返回非零代码:9,原因:失败:执行错误,从 org.apache.hadoop.hive.ql.exec.MapRedTask 返回代码 2
在 org.apache.hadoop.hive.jdbc.HiveStatement.executeQuer

转到此链接:

http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_Hive.html

并添加

**hadoop-0.20-core.jar
hive/lib/hive-exec-0.7.1.jar
hive/lib/hive-jdbc-0.7.1.jar
hive/lib/hive-metastore-0.7.1.jar
hive/lib/hive-service-0.7.1.jar
hive/lib/libfb303.jar
lib/commons-logging-1.0.4.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar**

到你的项目的类路径,从hadoop和hive的lib中添加这个jar,然后尝试代码。并将 hadoop、hive 和 hbase(如果您正在使用)lib 文件夹路径添加到项目类路径,就像您添加了 jars 一样。

对于第二个错误

类型

**netstat -nl | grep 10000**

如果它显示某些内容,则表示配置单元服务器已经在运行。第二个错误仅在您指定的端口已被其他进程获取时才会出现,默认情况下服务器端口为 10000,所以非常适合我上面提到的 netstat 命令。

注意:假设您已使用来自 ... bin/hive 的代码退出进行连接,如果您是通过 bin/hive 连接的 > 那么代码将无法连接,因为我认为(不确定)只有一个客户端可以连接到 hive 服务器.

执行上述步骤有望解决您的问题。

注意:当你要执行代码时退出cli,并且在代码正在执行时不要启动cli。

关于hadoop - 配置单元执行失败错误从 org.apache.hadoop.hive.ql.exec.mapredtask 返回代码 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10532304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com