0

我运行了一个命令spark-shell --jars /home/krishnamahi/graphframes-0.4.0-spark2.1-s_2.11.jar,它给我一个错误

错误:加载类文件“Logging.class”时检测到缺少或无效的依赖项。无法访问 com 包中的术语类型安全,因为它(或其依赖项)丢失。检查您的构建定义是否存在缺失或冲突的依赖项。(使用 -Ylog-classpath 重新运行以查看有问题的类路径。)如果“Logging.class”是针对不兼容的 com 版本编译的,则完全重建可能会有所帮助。错误:加载类文件“Logging.class”时检测到缺少或无效的依赖项。无法访问值 com.typesafe 中的术语 scalalogging,因为它(或其依赖项)丢失。检查您的构建定义是否存在缺失或冲突的依赖项。(使用 -Ylog-classpath 重新运行以查看有问题的类路径。)如果“Logging.class”完全重建可能会有所帮助 是针对 com.typesafe 的不兼容版本编译的。错误:加载类文件“Logging.class”时检测到缺少或无效的依赖项。无法访问值 com.slf4j 中的类型 LazyLogging,因为它(或其依赖项)丢失。检查您的构建定义是否存在缺失或冲突的依赖项。(使用 -Ylog-classpath 重新运行以查看有问题的类路径。)如果“Logging.class”是针对不兼容的 com.slf4j 版本编译的,则完全重建可能会有所帮助。

我正在使用 Spark 版本 2.1.1、Scala 版本 2.11.8、JDK 版本 1.8.0_131、CentOS7 64 位、Hadoop 2.8.0。谁能告诉我我应该给什么额外的命令才能完美运行程序?提前致谢。

4

2 回答 2

1

如果你想使用GraphFrames使用--packages命令行选项spark-shell代替。

--packages要包含在驱动程序和执行程序类路径中的 jar 的 maven 坐标的逗号分隔列表。将搜索本地 maven 存储库,然后搜索 maven Central 和--repositories. 坐标的格式应为 groupId:artifactId:version。

graphframes-0.4.0-spark2.1-s_2.11.jar如下:

$SPARK_HOME/bin/spark-shell --packages graphframes:graphframes:0.4.0-spark2.1-s_2.11

我从GraphFrames 项目的How to部分逐字复制。

这样您就不必搜索 GraphFrames 库的所有(传递)依赖项,因为 Spark 会自动为您完成。

于 2017-05-17T11:44:03.217 回答
0

我已经安装了原始 Hadoop,以及最新版本的所有组件 Hive、Pig、Spark。然后它对我有用。我使用了 Cent OS 7。使用组件安装 Hadoop 的顺序是

  1. Anaconda3/Python3(因为 Spark 2.x 不支持 Python 2)
  2. Hadoop
  3. 蜂巢
  4. Hbase
  5. 火花

所有组件都应该在同一个终端中一次完成。安装 Spark 后,重新启动系统。

于 2017-05-17T10:29:53.513 回答