运行 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 错误的主要内容,如果未能解决你的问题,请参考以下文章
获取“结果已过期,如果需要,请重新运行查询。”在 Hive 中运行代码时出现错误消息
IDEA+MySQL实现登录注册的注册验证时出现 Cannot resolve query parameter '2'
在 MySQL Linq Query EF6 中使用多个 Include() 方法时出现 FormatException