首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MAPR 5.0上的SPAR2.1

MAPR 5.0上的SPAR2.1
EN

Stack Overflow用户
提问于 2017-03-02 04:48:57
回答 1查看 1.3K关注 0票数 2

我在MapR5.0上运行Spark2.1

在本地模式下启动星火时,我会得到以下异常

我的火花默认(重要配置)

代码语言:javascript
复制
spark.sql.hive.metastore.version 0.13.1
spark.sql.hive.metastore.jars 
                          /opt/mapr/lib/maprfs-5.0.0-mapr.jar:
                          /opt/mapr/hadoop/hadoop-0.20.2/conf:
                          /opt/mapr/hadoop/hadoop-0.20.2/lib/protobuf-java-2.5.0.jar:

                          /opt/hadoopgpl/lib/hadoop-lzo.jar:
                          /opt/mapr/hadoop/hadoop-2.7.0/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.7.0-mapr-1506.jar:
                          /opt/mapr/hadoop/hadoop-0.20.2/lib/commons-logging-1.1.1.jar:
                          /opt/mapr/hadoop/hadoop-0.20.2/lib/hadoop-auth-2.7.0-mapr-1506.jar:
                          /opt/mapr/lib/libprotodefs-5.0.0-mapr.jar:
                          /opt/mapr/lib/baseutils-5.0.0-mapr.jar:
                          /opt/mapr/hadoop/hadoop-0.20.2/lib/guava-13.0.1.jar:
                          /opt/mapr/hadoop/hadoop-0.20.2/lib/hadoop-common-2.7.0-mapr-1506.jar:
                          /opt/mapr/hadoop/hadoop-0.20.2/lib/commons-configuration-1.6.jar

spark.sql.hive.metastore.sharedPrefixes com.mysql.jdbc,org.postgresql,com.microsoft.sqlserver,oracle.jdbc,com.mapr.fs.shim.LibraryLoader,com.mapr.security.JNISecurity,com.mapr.fs.jni,com.mapr.fs.shim


java.lang.LinkageError: loader (instance of  org/apache/spark/sql/hive/client/IsolatedClientLoader$$anon$1): attempted  duplicate class definition for name: "com/mapr/fs/jni/MapRConstants"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
... 104 more
java.lang.IllegalArgumentException: Error while instantiating   
'org.apache.spark.sql.hive.HiveSessionState':

请帮我一下

EN

回答 1

Stack Overflow用户

发布于 2018-02-16 12:38:53

我也经历过同样的问题。当运行我的火花作业-提交所有工作,但在当地运行同样的问题。

深入研究MapR社区产生了以下文章:https://community.mapr.com/thread/21262-spark-todf-returns-linkage-error-duplicate-class-definition#comments

此外,您还会注意到,在此文件中的集群中有以下配置键: spark.sql.hive.metastore.sharedPrefixes

因此,将这个键spark.sql.hive.metastore.sharedPrefixes添加到SparkConf中解决了我的问题。

下面是对这个键的解释:

一个逗号分隔的类前缀列表,应该使用Spark和一个特定版本的Hive之间共享的类加载器来加载。应该共享的类的一个例子是JDBC驱动程序,这些驱动程序需要与亚稳态通信。其他需要共享的类是那些与已经共享的类交互的类。例如,log4j使用的自定义追加程序。

你可以在这里读到更多关于它的信息:https://spark.apache.org/docs/2.1.0/sql-programming-guide.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42547095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档