色调蜂巢——蜂蜡服务器可以';找不到MySQL的JDBC驱动程序

色调蜂巢——蜂蜡服务器可以';找不到MySQL的JDBC驱动程序,jdbc,hadoop,hive,cloudera,hue,Jdbc,Hadoop,Hive,Cloudera,Hue,我们正在使用Cloudera 3.7.5,很难配置蜂蜡服务器,以便Hue能够访问蜂巢数据库。我按照Cloudera文档中的所有说明来设置MySQL作为Hive的元存储,但是当我重新启动Hue服务并检查Beeswax服务器的StdErr日志时,我仍然看到了由以下原因引起的痛苦的“javax.jdo.JDOFatalInternalException:错误创建事务连接工厂” org.datanucleus.exceptions.NucleusException: Attempt to invoke

我们正在使用Cloudera 3.7.5,很难配置蜂蜡服务器,以便Hue能够访问蜂巢数据库。我按照Cloudera文档中的所有说明来设置MySQL作为Hive的元存储,但是当我重新启动Hue服务并检查Beeswax服务器的StdErr日志时,我仍然看到了由以下原因引起的痛苦的“javax.jdo.JDOFatalInternalException:错误创建事务连接工厂”

org.datanucleus.exceptions.NucleusException: Attempt to invoke the "DBCP" plugin to create a ConnectionPool gave an error : The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH. Please check your CLASSPATH specification, and the name of the driver.
这对我来说很奇怪,因为日志还表明环境变量HIVE_HOME等于“/usr/lib/HIVE”,而且我已经按照文档的指示将“mysql-connector-java-5.1.15-bin.jar”复制到了/usr/lib/HIVE/lib目录中


我还尝试了博客文章中的说明,其中包括将mysql连接器jar复制到“/usr/share/hue/apps/beeswax/hive/lib/”中。不幸的是,我在蜂蜡文件夹中没有hive/lib子目录,所以我尝试创建一个。这也不起作用


有什么建议可以让MySQL JDBC库进入Beeswax的类路径吗?

您必须将MySQL连接器粘贴到HUE_HOME/apps/Beeswax/hive/lib中。
如果此路径不存在,请创建配置单元/lib,然后粘贴mysql连接器。我希望你的问题能得到解决。

我们最终决定咬紧牙关,升级到CDH4。将JDBCJAR放在
/usr/share/hive/lib
中可以让蜂蜡服务器完美地运行,而不会出现问题


如果有其他人遇到此问题,我建议从CDH3升级到CDH4,UI会更干净、更流畅,而且当您开始使用cloudera 4.5时,CDH4的安装和维护错误会少得多,因此,我的hive元服务器上的这个问题已通过以下命令修复。实际上,您只是在添加模块。我相信您可以在配置单元配置文件中修改额外的类路径,以使包更新不受影响

cp /usr/lib/hive/lib/mysql-connector-java-5.1.17-bin.jar /opt/cloudera/parcels/CDH-4.2.0-1.cdh4.2.0.p0.10/lib/hive/lib/.
因此,真正的解决方案可能是这样的:

 cp `locate mysql-connector | grep jar | head -n 1` /opt/cloudera/parcels/*/lib/hive/lib/.

这将把jar复制到每个包裹中。

“我也尝试了博客文章中的说明,其中包括将mysql连接器jar复制到“/usr/share/hue/apps/beeswax/hive/lib/”中。不幸的是,我在beeswax文件夹中没有hive/lib子目录,所以我尝试创建一个。这也不起作用。”在CDH3下,驱动程序jar必须放在/usr/lib/hive/lib中(显然是在beeswax节点上,而不是clouderamanager节点上)