我正在处理HDP 2.1中的Hive-jdbc连接
代码可以很好地处理不涉及mapreduce的查询,比如"select * from tabblename“。当使用“where”子句修改查询或指定列名(这将在后台运行mapreduce )时,相同的代码会显示错误。
通过在HiveCLI中执行,我已经验证了查询的正确性。此外,我还验证了运行java-jdbc代码所使用的用户对表的读/写权限。
错误如下
java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:275)
at org.apache.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:355)
at com.testing.poc.hivejava.HiveJDBCTest.main(HiveJDBCTest.java:25)发布于 2016-05-18 17:01:36
今天,当我从java提交一个hive任务时,我也得到了这个异常。以下错误:
org.apache.hive.jdbc.HiveDriverorg.apache.hive.jdbc.HiveDriverhive_driver:
org.apache.hive.jdbc.HiveDriverhive_url:jdbc:hive2://10.174.242.28:10000/defaultget
connection sessucess获取hive连接成功!
java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask我尝试在hive中使用sql execute,它工作得很好。然后我在/var/log/hive/hadoop-cmf-hive-HIVESERVER2-cloud000.log.out中看到了日志,然后我找到了这个错误的原因。以下错误:
Job Submission failed with exception 'org.apache.hadoop.security.AccessControlException(Permission denied: user=anonymous, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x解决方案
我使用了以下命令:
sudo -u hdfs hadoop fs -chmod -R 777 /这解决了错误!
hive_driver:org.apache.hive.jdbc.HiveDriver
hive_url:jdbc:hive2://cloud000:10000/default
get connection sessucess
获取hive连接成功!
Heart beat
执行insert成功!发布于 2015-04-10 22:52:14
如果您使用beeline执行相同的查询,您是否会看到与运行测试程序时相同的行为?
beeline客户机还使用开源JDBC驱动程序并连接到Hive服务器,这与您在程序中所做的操作类似。另一方面,HiveCLI中嵌入了配置单元,并且默认情况下不连接到远程配置单元服务器。您可以使用HiveCLI连接到远程配置单元服务器1,但我不相信您可以使用它连接到配置单元Server2 (请使用直线连接配置单元服务器2)。
对于这个错误,您可以查看服务器端的hive.log和hiveserver2.log,以更深入地了解可能导致MapReduce错误的原因。
希望这能有所帮助。
干杯,霍尔曼
https://stackoverflow.com/questions/29540626
复制相似问题