Hadoop Spark上的蜂巢:缺失<;火花组件*.jar>;
我正在运行Hive2.1.1、Spark 2.1.0和Hadoop2.7.3 我尝试按照以下步骤建立Spark: ./dev/make-distribution.sh——名称为“没有配置单元的hadoop2”——tgz -Pyarn,提供hadoop,hadoop-2.7,提供拼花地板 但是,我在spark目录下找不到任何spark assembly jar文件(Hadoop Spark上的蜂巢:缺失<;火花组件*.jar>;,hadoop,apache-spark,hive,Hadoop,Apache Spark,Hive,我正在运行Hive2.1.1、Spark 2.1.0和Hadoop2.7.3 我尝试按照以下步骤建立Spark: ./dev/make-distribution.sh——名称为“没有配置单元的hadoop2”——tgz -Pyarn,提供hadoop,hadoop-2.7,提供拼花地板 但是,我在spark目录下找不到任何spark assembly jar文件(find.-name“spark assembly*.jar”不返回任何内容)。我没有将spark assembly jar链接到HI
find.-name“spark assembly*.jar”
不返回任何内容)。我没有将spark assembly jar链接到HIVE\u HOME/lib
,而是尝试了export spark\u HOME=/HOME/user/spark
我在beeline中遇到以下配置单元错误:
0: jdbc:hive2://localhost:10000> set hive.execution.engine=spark;
0: jdbc:hive2://localhost:10000> insert into test (id, name) values (1, 'test1');
Error: Error running query: java.lang.NoClassDefFoundError: scala/collection/Iterable (state=,code=0)
我认为错误是由于缺少火花组件罐造成的
我如何构建/在哪里可以找到这些spark程序集jar文件
如何修复上述错误
谢谢大家! 是的,他们没有从spark 2.0.0开始构建spark-assembly.jar文件。jars目录中提供了独立的小型jar文件 找到-在南“*spark*” 不会给你找到任何与火花有关的罐子 但是,我正在通过mac上的brew安装使用Hive 2.1.0。问题仍然存在 看看
首先,Spark不会从2.0.0构建
Spark assembly.jar
,而是将所有依赖项jar构建到目录$Spark\u HOME/jars
此外,配置单元不支持Spark的所有版本,实际上,在Spark上运行配置单元有很强的版本兼容性限制。根据您使用的配置单元的版本,您始终可以在配置单元的pom.xml
文件中找到相应的Spark版本。对于Hive 2.1.1
,是:
1.6.0
正如您已经知道的,您需要在没有配置单元支持的情况下构建spark。我不知道为什么,但中的命令对我不起作用,最后我成功地执行了以下命令:
mvn -Pyarn -Phadoop-2.6 -Dscala-2.11 -DskipTests clean package
以及我以前遇到的一些其他故障排除技巧(希望您不会遇到):
- 由于未能找到slf4f或hadoop相关类,启动Spark Master失败,请运行
,然后重试导出Spark\u DIST\u CLASSPATH=$(hadoop CLASSPATH)
- 未能加载snappy本机库,这是因为类路径中没有snappy依赖项,或者hadoop类路径下的snappy库不是Spark的正确版本。您可以下载snappy lib的正确版本并将其置于
下,然后运行$SPARK\u HOME/lib/
,然后重试导出SPARK\u DIST\u CLASSPATH=$SPARK\u HOME/lib/*:$(hadoop CLASSPATH)
希望这能对您有所帮助,一切顺利。您可以尝试
sudo find/-name
搜索整个系统,我相信从Spark 2.x开始Spark assembly.jar
是不需要的。@mrsrinivas那么我如何将Spark链接到hive?你介意我把你的评论放在这个问题上吗?我使用Hive2.1.0,尽管没有程序集jar文件。他说的问题仍然存在。我猜这是Spark的版本