【问题标题】:Spark: How to obtain the location of configurations spark is using?Spark:如何获取 spark 正在使用的配置的位置?
【发布时间】:2019-12-28 21:37:03
【问题描述】:

现在,我遇到了以下issue exactly。具体来说,spark-submit 正在尝试连接到位于位置0.0.0.0/0.0.0.0yarn.resourcemanager

我已经检查了上面堆栈溢出线程中描述的所有日志。他们似乎都是正确的。我还在 spark 配置目录顶部的默认设置文件中添加了 yarn.resourcemanager.address=... 行,导出了 YARN_CONF_DIR 以及该线程上列出的所有其他修复。

在评分最高的答案的 cmets 底部,一位评论员指出,如果上述修复均无效,则 spark 未使用正确的配置。


此时,我很确定我的 spark 安装没有使用正确的配置(我没有安装它)。

如何确定spark 正在使用哪些配置,如何将它们更改为正确的配置? (或者我只需要重启机器?)

【问题讨论】:

    标签: java apache-spark hadoop hadoop-yarn


    【解决方案1】:

    以 spark-shell 为例,我可以这样做:

    scala> getClass.getClassLoader.getResource("yarn-site.xml")
    res1: java.net.URL = file:/etc/spark2/conf.cloudera.spark2_on_yarn/yarn-conf/yarn-site.xml
    

    ...结果显示了我当前类路径中配置文件的确切解析位置。如果您的应用程序是基于 Java 的,那么同样可以很容易地翻译成 Java(几乎是逐字)。

    【讨论】:

      【解决方案2】:

      您可以尝试通过调试器或反射访问 org.apache.spark.sql.SparkSession 上的 creationSite 字段。然后,您可以尝试在创建 spark 会话的代码中查找类和位置,然后您可以尝试查找如何调用 org.apache.spark.sql.SparkSession.Builder。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-10-31
        • 1970-01-01
        • 2014-04-28
        • 2022-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多