hadoop - 安装 Spark Cluster,Hive 的问题

标签 hadoop apache-spark shark-sql

我正在尝试启动 Spark/Shark 集群,但一直遇到同样的问题。 我已按照 https://github.com/amplab/shark/wiki/Running-Shark-on-a-Cluster 上的说明进行操作并按照说明处理 Hive。

我认为 Shark Driver 正在使用另一个版本的 Hadoop jar,但不确定原因。

这是详细信息,任何帮助都会很棒。

星火/鲨鱼 0.9.0

Apache Hadoop 2.3.0

Amplabs hive 0.11

斯卡拉 2.10.3

Java 7

我已经安装了所有东西,但我收到了一些弃用警告,然后是一个异常:

14/03/14 11:24:47 信息 Configuration.deprecation:mapred.input.dir.recursive 已弃用。相反,使用 mapreduce.input.fileinputformat.input.dir.recursive

14/03/14 11:24:47 信息 Configuration.deprecation:mapred.max.split.size 已弃用。相反,使用 mapreduce.input.fileinputformat.split.maxsize

异常:

Exception in thread "main" org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
    at org.apache.hadoop.hive.ql.metadata.Hive.getAllDatabases(Hive.java:1072)
    at shark.memstore2.TableRecovery$.reloadRdds(TableRecovery.scala:49)
    at shark.SharkCliDriver.<init>(SharkCliDriver.scala:275)
    at shark.SharkCliDriver$.main(SharkCliDriver.scala:162)
    at shark.SharkCliDriver.main(SharkCliDriver.scala)
Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
    at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1139)
    at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:51)
    at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:61)
    at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2288)
    at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:2299)
    at org.apache.hadoop.hive.ql.metadata.Hive.getAllDatabases(Hive.java:1070)
    ... 4 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1137)
    ... 9 more
Caused by: java.lang.UnsupportedOperationException: Not implemented by the DistributedFileSystem FileSystem implementation

最佳答案

我遇到了同样的问题,我认为这是由 hadoop/hive 和 spark/shark 的不兼容版本引起的。

您需要:

  • shark/lib_managed/jars/org.apache.hadoop/hadoop-core/ 中删除 hadoop-core-1.0.x.jar
  • 构建 shark 时,显式设置 SHARK_HADOOP_VERSION 如下:

    cd shark;
    SHARK_HADOOP_VERSION=2.0.0-mr1-cdh4.5.0 ./sbt/sbt clean
    SHARK_HADOOP_VERSION=2.0.0-mr1-cdh4.5.0 ./sbt/sbt package
    

第二种方法也为我解决了其他问题。您还可以查看此主题以获取更多详细信息:https://groups.google.com/forum/#!msg/shark-users/lTNPcxHJiOQ/EqzyByZrzQMJ

关于hadoop - 安装 Spark Cluster,Hive 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22476958/

相关文章:

apache-spark - 如何在 Spark RDD 中按多个键进行分组?

java - 如何完全驱逐Spark中的持久 "Stream Blocks"

apache-spark - pyspark rdd map 没有调用函数

mysql - 在 Mac OSX 上使用 Apache SHARK 运行查询

hadoop - 通过 ODBC 连接到 Spark SQL

hadoop - java.lang.IllegalArgumentException : Can't find HmacSHA1 algorithm 异常

hadoop - DataNode如何选择 block 放置策略?

hadoop - 从普通数据库表创建大数据

hadoop - Oozie 将文件从一个 hdfs 位置复制到另一个