2015-12-22 48 views
0

我已經從本地系統連接到Hive(在集羣中),並在scala IDE中使用spark,最後放置了我的配置單元站點。 xml正確地在Spark/conf文件夾和類路徑中,並且能夠連接到Metastore,但無法訪問配置單元表。Spark Scala:JniBasedUnixGroupsMapping:獲取XXX組的組出錯:無法找到用戶名

如何更改用戶的HiveContext

15/12/22 10時28分42秒INFO ParseDriver:解析命令:show表 15/12/22 10點28分43秒INFO ParseDriver:解析完成 15/12/22 10:28:45 INFO metastore:嘗試使用URI thrift連接到metastore://Server.com:9083 15/12/22 10:28:46信息JniBasedUnixGroupsMapping:錯誤獲取XXXX組的組:無法找到用戶名。

15/12/22 10:28:46 WARN UserGroupInformation:沒有用戶組可用XXXXX 15/12/22 10:28:46 INFO metastore:連接到Metastore。

在線程異常 「主要」 java.lang.NoClassDefFoundError:組織/阿帕奇/ TEZ/DAG/API/SessionNotRunning 在org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java :353) at org.apache.spark.sql.hive.HiveContext $$ anonfun $ 4.apply(HiveContext.scala:235) at org.apache.spark.sql.hive.HiveContext $$ anonfun $ 4.apply(HiveContext .scala:231) at org.apache。org.apache.spark.sql.Option.orElse(Option.scala:257) at org.apache.spark.sql.hive.HiveContext.x $ 3 $ lzycompute(HiveContext.scala:231) 。 spark.sql.hive.HiveContext.x $ 3(HiveContext.scala:229) at org.apache.spark.sql.hive.HiveContext.hiveconf $ lzycompu te(HiveContext.scala:229) at org.apache.spark.sql.hive.HiveContext.hiveconf(HiveContext.scala:229) at org.apache.spark.sql.hive.HiveMetastoreCatalog。(HiveMetastoreCatalog.scala:55 ) at org.apache.spark.sql.hive.HiveContext $$ anon $ 1。(HiveContext.scala:253) at org.apache.spark.sql.hive.HiveContext.catalog $ lzycompute(HiveContext.scala:253) at org.apache.spark.sql.hive.HiveContext.catalog(HiveContext.scala:253) at org.apache.spark.sql.hive.HiveContext $$ anon $ 3。(HiveContext.scala:263) at org .apache.spark.sql.hive.HiveContext.analyzer $ lzycompute(HiveContext.scala:263) at org.apache.spark.sql.hive.HiveContext.analyzer(HiveContext.scala:262) at org.apache.spark .sql.SQLContext $ QueryExecution.analyzed $ lzyco在$ org.apache.spark.sql.SchemaRDDLike $ class。$ init $(SchemaRDDLike。 scala:58) at org.apache.spark.sql.SchemaRDD。(SchemaRDD.scala:108) at org.apache.spark.sql.hive.HiveContext.hiveql(HiveContext.scala:102) at org.apache .spark.sql.hive.HiveContext.hql(HiveContext.scala:106) at com.Spark.ConnectToHadoop.CountWords $ .main(CountWords.scala:50) at com.Spark.ConnectToHadoop.CountWords.main(CountWords。 scala) 導致:java.lang.ClassNotFoundException:org.apache.tez.dag.api.SessionNotRunning at java.net.URLClassLoader $ 1.run(Unknown Source) at java.net.URLClassLoader $ (未知源) at java.lang.ClassLoader.loadClass(未知源) at sun。(未知源) at java.lang.ClassLoader.loadClass(Unknown Source) at sun。 misc.Launcher $ AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ...23多

+0

看起來你的Hadoop集羣不使用Kerberos身份驗證,所以答案是在那個職位>> http://stackoverflow.com/questions/11041253/set-hadoop-system-user-for-client-embedded- in-java-webapp/11062529#11062529 –

+0

無論如何,這將使**沒有區別**,因爲您的異常與認證無關*(只顯示警告)*;你的'hive-site.xml'清楚地調用了TEZ,但是你沒有向Spark Class Path提供TEZ庫。 –

+0

@SamsonScharfrichter它不只是警告,我無法加載我的配置單元表,因爲異常,無論如何我可以添加Tez庫(我應該在哪裏下載它),並清除我的異常? – sudhir

回答

0

這個答案有無關,與你的問題,但後來,你的問題無關以顯示的異常...

在你提供的火花,從更改屬性hive.execution.enginehive-site.xml 「tez」(需要TEZ運行時間)默認爲「mr」。

+0

謝謝,這真的有幫助.. 但是如何運行tez引擎,只會引發'mr'在Hive上的工作? – sudhir

相關問題