【问题标题】:How to find Spark's installation directory?如何找到 Spark 的安装目录?
【发布时间】:2023-03-27 12:42:02
【问题描述】:

我想更改 spark-env.sh 。如何在ubuntu中找到安装目录??

我查看了 UI,但没有找到任何东西。

whereis spark 

结果:spark:

这是定位命令的日志 找到火花

/home/sys6002/.netbeans/8.0.2/apache-tomcat-8.0.15.0_base/temp/spark-ba1ea995-b959-43f4-ab6c-7d9f1ee5fcc1/blockmgr-db3a931b-7f1a-423e-b5da-b75a958a1909/11
/home/sys6002/.netbeans/8.0.2/apache-tomcat-8.0.15.0_base/temp/spark-ba1ea995-b959-43f4-ab6c-7d9f1ee5fcc1/blockmgr-db3a931b-7f1a-423e-b5da-b75a958a1909/13
/home/sys6002/.netbeans/8.0.2/apache-tomcat-8.0.15.0_base/temp/spark-ba1ea995-b959-43f4-ab6c-7d9f1ee5fcc1/httpd-16b4313e-72dc-4665-b4ac-df491869386d/files
/home/sys6002/.netbeans/8.0.2/apache-tomcat-8.0.15.0_base/temp/spark-ba1ea995-b959-43f4-ab6c-7d9f1ee5fcc1/httpd-16b4313e-72dc-4665-b4ac-df491869386d/jars
/home/sys6002/Desktop/diff spark hadoop.png
/home/sys6002/Desktop/sparkmain
/home/sys6002/Downloads/learning-spark-master.zip
/home/sys6002/Downloads/mongo-spark-master
/home/sys6002/Downloads/spark-1.5.1
/home/sys6002/Downloads/spark-1.5.1-bin-hadoop2.6
/home/sys6002/Downloads/spark-1.5.1-bin-hadoop2.6 (2)
/home/sys6002/Downloads/spark-1.5.1-bin-hadoop2.6.tgz
/home/sys6002/Downloads/spark-1.5.1-bin-without-hadoop
/home/sys6002/Downloads/spark-cassandra-connector-master
/home/sys6002/Downloads/spark-core_2.9.3-0.8.0-incubati
home/sys6002/anaconda3/pkgs/odo-0.3.2-np19py34_0/lib/python3.4/site-packages/odo/backends/tests/__pycache__/test_sparksql.cpython-34.pyc
/home/sys6002/spark-example/a.txt
/home/sys6002/spark-example/a.txt~
/home/sys6002/spark-example/pom.xml
/home/sys6002/spark-example/pom.xml~
/home/sys6002/spark-example/src
/home/sys6002/spark-example/src/main
/home/sys6002/spark-example/src/test
/home/sys6002/spark-example/src/main/java
/home/sys6002/spark-example/src/main/java/com
/home/sys6002/spark-example/src/main/java/com/geekcap
/home/sys6002/spark-example/src/main/java/com/geekcap/javaworld
/home/sys6002/spark-example/src/main/java/com/geekcap/javaworld/App.java
/home/sys6002/spark-example/src/main/java/com/geekcap/javaworld/WordCount.java~
/home/sys6002/spark-example/src/main/java/com/geekcap/javaworld/sparkexample
/home/sys6002/spark-example/src/main/java/com/geekcap/javaworld/sparkexample/WordCount.java
/home/sys6002/spark-example/src/main/java/com/geekcap/javaworld/sparkexample/WordCount.java~

/home/sys6002/spark-example/src/test/java/com/geekcap/javaworld/AppTest.java
/usr/share/app-install/desktop/lightspark:lightspark.desktop
/usr/share/app-install/desktop/sparkleshare:sparkleshare-invite-opener.desktop
/usr/share/app-install/desktop/sparkleshare:sparkleshare.desktop

【问题讨论】:

  • 你有 /etc/spark/conf/spark-env.sh 吗?
  • Anil 而不是搜索 spark 搜索特定文件,例如 spark-env.sh
  • @HRgiger,搜索了spark-env.sh 。没有结果
  • 你试过了吗:find / -name 'spark-env.sh' 2>/dev/null
  • @Mike locate spark-env.sh 这个没有结果

标签: java ubuntu apache-spark


【解决方案1】:

运行

echo 'sc.getConf.get("spark.home")' | spark-shell

稍后您的 Spark 主页将被打印出来,您将看到如下内容:

scala> sc.getConf.get("spark.home")
res0: String = /usr/local/lib/python3.7/site-packages/pyspark

所以在这种情况下,我的 Spark Home 是 /usr/local/lib/python3.7/site-packages/pyspark

【讨论】:

  • 这是为我做的。我实际上有几个家,在 /anaconda3 目录和我项目的 python 虚拟环境中。那真的很有帮助!谢谢:)
【解决方案2】:

你可以试试这两个命令:

  1. locate spark

  2. whereis spark

定位 - 对于每个给定的 模式,定位搜索一个或多个文件名数据库和 显示包含该模式的文件名。图案可以 包含 shell 样式的元字符:''、'?' 和 '[]'。这 元字符不处理 '/' 或 '.'特别。因此,一个 模式 'foobar' 可以匹配包含 'foo3/bar' 的文件名,并且 模式“duck”可以匹配包含“lake/.ducky”的文件名。 应引用包含元字符的模式以保护它们 由外壳扩展。

whereis 定位指定的源代码/二进制文件和手册部分 文件。提供的名称首先去除前导路径名 组件和 .ext 形式的任何(单个)尾随扩展名,用于 例如,.c。 s 的前缀。源于使用源代码控制 也被处理。 whereis 然后尝试找到所需的 程序在标准 Linux 位置列表中。

【讨论】:

  • locate 命令的所有结果都指向我的下载目录。这不是我要找的那个
  • 你能提供一些输出吗?
  • whereis spark 结果:spark:
【解决方案3】:

这也对我有用:

cd $SPARK_HOME

如果设置了环境变量,它将带你到安装 Spark 的目录。

【讨论】:

    【解决方案4】:

    您应该改为搜索spark-shell

    whereis spark-shell
    

    通常这会解析成这样的路径 /opt/spark-2.3.1-bin-hadoop2.7

    【讨论】:

      【解决方案5】:

      为什么你需要 Spark 的主目录?您不一定必须在本地安装 Spark 才能运行 Spark 应用程序。您确实需要在本地安装 Spark 包才能拥有 Spark Standalone 或通过 YARN 或 Mesos 集群分发它,但似乎不是您的情况。

      您需要 jars,其余的由 Spark 的默认设置完成。

      您可以看到 Web UI,因为它在您创建 SparkContext 实例时默认启动。

      总而言之,Spark 在您正在开发的项目中是一堆 jar,当您的 Spark 应用程序启动时,它会创建一个 SparkContext,根据您的主 URL 将连接到运行时环境。

      spark-env.sh 中的环境变量可以使用SparkContext 轻松设置。

      【讨论】:

      • 感谢您的回答。但是如果没有本地目录,我如何在spark-env.sh 中配置内存和其他选项??
      • 您只需要SparkContext 对象。您在spark-env.sh 中所做的一切都会转换为 SparkContext,并且确实具有从 env var 到设置的转换。你想设置什么?与此同时,我在答案中添加了一些(希望如此)有用的内容。
      • 我同意我可以将 then 设置为对象。 & 我可以在 UI 中看到它们。但事实是,这样做不会影响使用的 RAM 量。
      • 已在邮件列表中解决,因此请在此处添加并标记为已接受的答案。感谢您的愉快交谈!
      【解决方案6】:

      感谢 Jacek,我发现我的机器上没有安装 Spark,我只是在我的项目中使用 spark 库。

      要添加更多,在java项目中运行spark应用程序,你不一定需要apache spark、scala和pyspark。

      包括罐子会让你的工作完成

      【讨论】:

        【解决方案7】:

        如果您想从 Mac 中的 Spark 应用程序中删除本地数据

        前往

        ~/Library/Containers/
        

        然后查找文件夹名称 got spark something

        【讨论】:

          【解决方案8】:

          如果找不到 Spark 所在的目录,可以通过设置环境变量SPARK_CONF_DIR 指向您喜欢的目录来覆盖默认目录。然后 Spark 将使用该目录来定位 spark-defaults.conf、spark-env.sh 等。参见 https://spark.apache.org/docs/latest/configuration.html#overriding-configuration-directory

          【讨论】:

            猜你喜欢
            • 2019-04-22
            • 1970-01-01
            • 2018-08-31
            • 2011-05-17
            • 1970-01-01
            • 1970-01-01
            • 2010-10-04
            • 2014-12-22
            • 1970-01-01
            相关资源
            最近更新 更多