2012-06-12 25 views
3

我們正在使用Cloudera 3.7.5,並且難以配置Beeswax服務器,因此Hue可以訪問Hive數據庫。我遵循Cloudera文檔中的所有說明,將MySQL設置爲Hive的Metastore,但是當重新啓動Hue服務並檢查Beeswax服務器的StdErr日誌時,我仍然看到痛苦的「javax.jdo.JDOFatalInternalException:創建事務連接工廠時出錯「這是由Hue Hive - 蜂蠟服務器找不到MySQL的JDBC驅動程序

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. 

造成這是對的bizzare我,因爲日誌也表明,環境變量HIVE_HOME等於‘/ usr/lib目錄/蜂房’,果然我抄」 mysql- connector-java-5.1.15-bin.jar「複製到/ usr/lib/hive/lib目錄中,如文檔指示。

我也嘗試了博客文章http://hadoopchallenges.blogspot.com/2011/03/hue-120-upgrade-and-beeswax.html上的指示,其中涉及將mysql連接器jar複製到「/ usr/share/hue/apps/beeswax/hive/lib /」中。不幸的是,我在beeswax文件夾中沒有hive/lib子目錄,所以我試圖創建一個。這也沒有奏效。

任何建議如何將MySQL JDBC庫導入到Beeswax的類路徑中?

回答

1

我們終於決定咬下子彈和upgrade to CDH4。將JDBC jar放入/usr/share/hive/lib允許Beeswax服務器正常運行而沒有問題。

如果任何人遇到此問題我推薦CDH3到CDH4升級,用戶界面更乾淨,更流暢,和我們有少得多的安裝和維護的錯誤與CDH4

+0

在CDH3下​​,驅動程序jar必須進入/ usr/lib/hive/lib(在beeswax節點上,顯然不是Cloudera Manager節點) – adrianos

0

您必須將您的mysql連接器粘貼到HUE_HOME/apps/beeswax/hive/lib中。 如果此路徑不存在,請創建配置/ lib,然後粘貼mysql連接器。我希望你的問題能夠解決。

+0

「我也嘗試了博客文章http://hadoopchallenges.blogspot.com/2011/03/hue-120-upgrade-and-beeswax.html上的說明,其中涉及將mysql連接器jar複製到「/ usr/share/hue/apps/beeswax/hive/lib /」。不幸的是,我在beeswax文件夾中沒有hive/lib子目錄,所以我試圖創建一個,這也行不通。 – depthfirstdesigner

0

當你開始使用cloudera 4.5時,他們將所有東西都轉換成包裹,所以我的配置單元元服務器上的確切問題已被此命令修復(見下文)。基本上你只是重新添加模塊。我相信你可以在配置單元配置文件中修改額外的類路徑,以免忘記包裹更新。

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/. 

這將罐子複製到每一個包裹。

相關問題