在spark submit中传递hdfs path作为环境变量

1zmg4dgp  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(455)

我试图运行我的spark程序使用spark提交对Yarn集群,我正在阅读一个外部配置文件,这是放在hdfs,我正在运行的工作-

./spark-submit --class com.sample.samplepack.AnalyticsBatch --master yarn-cluster --num-executors 3 --driver-memory 512m --executor-memory 512m --executor-cores 1 --driver-java-options "-Dext.properties.dir=hdfs://namenode:8020/tmp/some.conf" PocSpark-1.0-SNAPSHOT-job.jar 10

但是它无法从hdfs读取文件,我也尝试过在本地模式下以conf file作为hdfs路径来运行这个作业,我得到了-

java.io.FileNotFoundException: hdfs:/namenode:8020/tmp/some.conf (No such file or directory)

这里缺少after hdfs协议正斜杠。任何帮助都将不胜感激。

z0qdvdin

z0qdvdin1#

如下设置spark submit参数可以解决这个问题
高密度光纤:///namenode:8020//tmp//some.conf

mefy6pfw

mefy6pfw2#

你必须把 HADOOP_CONF_DIR 环境变量。它必须指向 core-site.xml (可能是 ../hadoop-2.6.0/etc/hadoop_dir )以及 core-site.xml 必须包含:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://yourHost:54310</value>
    </property>
</configuration>

希望这会有帮助!

相关问题