gpt4 book ai didi

hadoop - 将 Spark 和 Hadoop 配置文件添加到 JAR?

转载 作者:可可西里 更新时间:2023-11-01 16:09:52 25 4
gpt4 key购买 nike

我有一个 Spark 应用程序,我想使用配置文件对其进行配置,例如 Spark 的 spark-defaults.conf、HBase 的 hbase-site.xml 和 log4j 的 log4j.properties。我还想避免必须以编程方式添加文件。

我尝试将文件添加到我的 JAR(在 //conf 路径下)但是当我运行 spark-submit 配置时文件似乎没有任何影响。

为了进一步检查我的声明,我尝试使用相同的 JAR 运行 spark-shell 并检查文件的内容,我发现它们被来自其他位置的文件覆盖:/spark -defaults.conf/log4j.properties 完全不同,而 /conf/hbase-site.xml 在保持原样的同时(可能)具有其属性被另一个 JAR 的 hbase-default.xml 覆盖。

我用的是CDH 5.4.0。
文件 log4j.propertiesspark-defaults.conf/etc/spark/hbase-default.xml< 加载/opt/cloudera/parcels/CDH-5.4.0-1.cdh5.4.0.p0.27/jars/hbase-common-1.0.0-cdh5.4.0.jar 加载.

有没有办法在我的配置文件上指定某种优先级?我是否应该只配置 /etc/spark 中的文件(也许还要添加我的 hbase-site.xml)?有没有一种方法可以将自定义目录路径添加到可以优先于其他路径的类路径?

最佳答案

我认为不可能将 spark-defaults.conf 包含到 jar 中。我知道的唯一方法是编辑服务器上的文件或以编程方式添加配置设置。

但对于 hbase-site.xml 和其他 hadoop 站点配置,它应该可以工作。

您可以将每个 site.xml 放在您的资源目录的根目录中,除非您在 spark 的类路径中有一些其他 site.xml 首先加载,否则应该加载它。

即如果您要将 hadoop classpathhbase classpath 添加到服务器上的 spark env,那么它们将在首先加载的类加载器中,除非您使用设置 spark .files.userClassPathFirst

关于hadoop - 将 Spark 和 Hadoop 配置文件添加到 JAR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32756787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com