【问题标题】:Apache Spark installation failsApache Spark 安装失败
【发布时间】:2015-11-06 10:33:24
【问题描述】:

我正在尝试在 Ubuntu 上独立安装 Apache Spark,并且在运行“sbt/sbt 程序集”命令时,我收到此错误:

java.lang.RuntimeException: Could not create directory /opt/spark-1.5.1/external/zeromq/target/streams/compile/$global/$global/discoveredMainClasses
        at scala.sys.package$.error(package.scala:27)
        at sbt.IO$.createDirectory(IO.scala:166)
        at sbt.IO$.touch(IO.scala:142)
        at sbt.std.Streams$$anon$3$$anon$2.make(Streams.scala:129)
        at sbt.std.Streams$$anon$3$$anon$2.binary(Streams.scala:116)
        at sbt.SessionVar$$anonfun$persist$1.apply(SessionVar.scala:27)
        at sbt.SessionVar$$anonfun$persist$1.apply(SessionVar.scala:26)
        at sbt.std.Streams$class.use(Streams.scala:75)
        at sbt.std.Streams$$anon$3.use(Streams.scala:100)
        at sbt.SessionVar$.persist(SessionVar.scala:26)
        at sbt.SessionVar$.persistAndSet(SessionVar.scala:21)
        at sbt.Project$RichTaskSessionVar$$anonfun$storeAs$1$$anonfun$apply$5.apply(Project.scala:556)
        at sbt.Project$RichTaskSessionVar$$anonfun$storeAs$1$$anonfun$apply$5.apply(Project.scala:556)
        at sbt.SessionVar$$anonfun$1$$anonfun$apply$1.apply(SessionVar.scala:40)
        at sbt.SessionVar$$anonfun$1$$anonfun$apply$1.apply(SessionVar.scala:40)
        at scala.Function$$anonfun$chain$1$$anonfun$apply$1.apply(Function.scala:24)
        at scala.Function$$anonfun$chain$1$$anonfun$apply$1.apply(Function.scala:24)
        at scala.collection.IndexedSeqOptimized$class.foldl(IndexedSeqOptimized.scala:51)
        at scala.collection.IndexedSeqOptimized$class.foldLeft(IndexedSeqOptimized.scala:60)
        at scala.collection.mutable.ArrayBuffer.foldLeft(ArrayBuffer.scala:47)
        at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:138)
        at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:105)
        at scala.Function$$anonfun$chain$1.apply(Function.scala:24)
        at sbt.EvaluateTask$.applyResults(EvaluateTask.scala:370)
        at sbt.EvaluateTask$.liftedTree1$1(EvaluateTask.scala:344)
        at sbt.EvaluateTask$.run$1(EvaluateTask.scala:341)
        at sbt.EvaluateTask$.runTask(EvaluateTask.scala:361)
        at sbt.Aggregation$$anonfun$3.apply(Aggregation.scala:64)
        at sbt.Aggregation$$anonfun$3.apply(Aggregation.scala:62)
        at sbt.EvaluateTask$.withStreams(EvaluateTask.scala:293)
        at sbt.Aggregation$.timedRun(Aggregation.scala:62)
        at sbt.Aggregation$.runTasks(Aggregation.scala:71)
        at sbt.Aggregation$$anonfun$applyTasks$1.apply(Aggregation.scala:32)
        at sbt.Aggregation$$anonfun$applyTasks$1.apply(Aggregation.scala:31)
        at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:60)
        at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:60)
        at sbt.Aggregation$$anonfun$evaluatingParser$4$$anonfun$apply$5.apply(Aggregation.scala:153)
        at sbt.Aggregation$$anonfun$evaluatingParser$4$$anonfun$apply$5.apply(Aggregation.scala:152)
        at sbt.Act$$anonfun$sbt$Act$$actParser0$1$$anonfun$sbt$Act$$anonfun$$evaluate$1$1$$anonfun$apply$10.apply(Act.scala:244)
        at sbt.Act$$anonfun$sbt$Act$$actParser0$1$$anonfun$sbt$Act$$anonfun$$evaluate$1$1$$anonfun$apply$10.apply(Act.scala:241)
        at sbt.Command$.process(Command.scala:92)
        at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
        at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
        at sbt.State$$anon$1.process(State.scala:184)
        at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
        at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
        at sbt.MainLoop$.next(MainLoop.scala:98)
        at sbt.MainLoop$.run(MainLoop.scala:91)
        at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:70)
        at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:65)
        at sbt.Using.apply(Using.scala:24)
        at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65)
        at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48)
        at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32)
        at sbt.MainLoop$.runLogged(MainLoop.scala:24)
        at sbt.StandardMain$.runManaged(Main.scala:53)
        at sbt.xMain.run(Main.scala:28)
        at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
        at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
        at xsbt.boot.Launch$.run(Launch.scala:109)
        at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
        at xsbt.boot.Launch$.launch(Launch.scala:117)
        at xsbt.boot.Launch$.apply(Launch.scala:18)
        at xsbt.boot.Boot$.runImpl(Boot.scala:41)
        at xsbt.boot.Boot$.main(Boot.scala:17)
        at xsbt.boot.Boot.main(Boot.scala)
[error] Could not create directory /opt/spark-1.5.1/external/zeromq/target/streams/compile/$global/$global/discoveredMainClasses
[error] Use 'last' for the full log.

还有其他人遇到过这个问题吗?

java 版本“1.8.0_65”

Scala 代码运行器版本 2.11.7 -- 版权所有 2002-2013,LAMP/EPFL

【问题讨论】:

  • 通常/opt 属于root 用户。您在此处使用的最有可能的用户没有足够的权限在此处写入。
  • 忘记提及“sbt/sbt 程序集”是在 root 用户下执行的:root@server:/opt/spark-1.5.1# sbt/sbt 程序集

标签: scala apache-spark


【解决方案1】:

正如错误中提到的,您没有对 /opt 目录的写入权限。

Could not create directory /opt/spark-1.5.1/external/zeromq/target/streams/compile/$global/$global/discoveredMainClasses

您需要 root 访问权限才能写入此文件夹。 你可以

  • 将 Apache Spark 下载并编译到您的主文件夹,然后将其移动到 /opt
  • 运行 sudo sbt/sbt assembly 以在构建 spark 时获得 root 访问权限(以 root 身份编译被认为是不安全的)

【讨论】:

【解决方案2】:

您必须具有 root 权限才能添加和操作 /opt/ 文件。 Spark 配置错误。我建议按照这些步骤安装 spark 和 scala,然后尝试运行 sbt。祝一切顺利。 https://www.youtube.com/watch?v=BozSL9ygUto

【讨论】:

    【解决方案3】:

    我们得到这个错误的不一致。它可能是由内部 SBT 错误引起的。

    “SBT 中似乎存在竞争条件,仅由导致多个编译进程并行运行的插件触发。”

    查看这里了解更多信息:https://github.com/sbt/sbt/issues/1673

    看看你是否可以禁用一些插件并重新运行。

    【讨论】:

      猜你喜欢
      • 2014-04-23
      • 2019-05-10
      • 2020-12-24
      • 2014-12-28
      • 1970-01-01
      • 1970-01-01
      • 2020-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多