Hive在drop表的时候报错

时间:2020-12-26 16:27:03

问题背景:

  在安装完Hive之后,初始化mysql是成功的,hive启动也是成功的,也能创建database,在database中也能创建表,也能查看表结构,但是在drop的时候就不行了,在hive shell中会卡顿一段时间,然后就报错了,差不多就是这样“FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask”,然后再输入任何命令就一直报这个错误了。

问题解决:

  最终排查发现是因为Linux下的mysql-connector-java.jar的驱动版本和mysql server版本不一致导致的,mysql-connector-java的版本是5.1几的,mysql server是5.6的。去mysql官网下载Linux下的mysql驱动https://dev.mysql.com/downloads/connector/j/然后选择适合自己的系统版本,下载rpm包即可,下载完成后安装rpm即可,在安装时可能需要一些依赖,自己解决一下吧,如果缺少java-headless可以在这个网址上下载http://rpmfind.net/linux/rpm2html/search.php?query=java-headless&submit=Search+...&system=&arch=,也是rpm的包,下载完了安装就行。

  重启一下hive系统再drop table就成功了。