运行 Hive Query 时出现 Mysql 错误

Posted

技术标签:

【中文标题】运行 Hive Query 时出现 Mysql 错误【英文标题】:Mysql error when running Hive Query 【发布时间】:2015-07-29 09:37:35 【问题描述】:

我在运行 hive 查询时看到以下错误。重新安装hive后也无法修复。请提出建议。

select col1, col2, col3, col4 from y2014_01 order by col4 DESC limit 10;

作业提交失败,出现异常'java.io.FileNotFoundException(文件文件:/usr/local/hadoop/apache-hive-1.0.0-bin/lib/mysql-connector-java-5.1.21-bin.jar不存在)

FAILED:执行错误,从 org.apache.hadoop.hive.ql.exec.mr.MapRedTask 返回代码 1

【问题讨论】:

你在使用 Mysql 作为 Hive Metastore 吗? 你把mysql jdbc jar放到HIVE_HOME/lib目录了吗? 是的.. mysql-connector-java-5.1.21.jar jar 已经存在了。我还在 /etc/environment 中维护了以下内容。 HIVE_HOME="/usr/local/hadoop/apache-hive-1.0.0-bin" HIVE_AUX_JARS_PATH="/usr/local/hadoop/apache-hive-1.0.0-bin/lib/mysql-connector-java-5.1. 21-bin.jar" 添加这些 jars 后是否重启了元存储 我更改了 HIVE_AUX_JARS_PATH。我删除了 mysql 连接器中的 bin。它工作..谢谢! 【参考方案1】:

以下几点可能对您有所帮助

    检查罐子是否存在于正确的位置。

    确保 jar 没有损坏。尝试执行以下命令

    jar -tf /usr/local/hadoop/apache-hive-1.0.0-bin/lib/mysql-connector-java-5.1.21-bin.jar

    确保此 jar 存在于 hive Metastore 主机中

    放置这个jar后重启hivemetastore服务。

【讨论】:

以上是关于运行 Hive Query 时出现 Mysql 错误的主要内容,如果未能解决你的问题,请参考以下文章

从 hortonworks 沙箱运行时出现 Hive 错误

获取“结果已过期,如果需要,请重新运行查询。”在 Hive 中运行代码时出现错误消息

IDEA+MySQL实现登录注册的注册验证时出现 Cannot resolve query parameter '2'

在 MySQL Linq Query EF6 中使用多个 Include() 方法时出现 FormatException

将数据从 MySQL 加载到 HDFS 时出现 Sqoop 错误

运行具有大量过滤的 Solr Query 时出现 SocketException