gpt4 book ai didi

hadoop - 在Amazon EC2中以集群模式在Spark中读取文件

转载 作者:行者123 更新时间:2023-12-02 21:35:22 24 4
gpt4 key购买 nike

我正在尝试使用以下方法在Amazon Ec2中以集群模式执行Spark程序

spark-submit --master spark://<master-ip>:7077 --deploy-mode cluster --class com.mycompany.SimpleApp ./spark.jar

该类有一行尝试读取文件的行:
JavaRDD<String> logData = sc.textFile("/user/input/CHANGES.txt").cache();

即使我能够以独立模式阅读,我也无法以群集模式阅读此txt文件。在群集模式下,它希望读取hdfs。所以我使用/ root / persistent-hdfs将文件放在hdfs中
hadoop fs -mkdir -p /wordcount/input
hadoop fs -put /app/hadoop/tmp/input.txt /wordcount/input/input.txt

我可以使用 hadoop fs -ls /workcount/input查看文件。但是Spark仍然无法读取文件。知道我在做什么错。谢谢。

最佳答案

您可能要检查以下几点:

  • 文件确实在持久性HDFS中吗?

  • 看来您只是将输入文件从 /app/hadoop/tmp/input.txt复制到 /wordcount/input/input.txt,所有这些都在节点磁盘中。我相信您会误解 hadoop命令的功能。

    相反,您应该尝试将文件显式放入持久性HDFS( root/persistent-hdfs/)中,然后使用 hdfs://...前缀加载它。
  • 持久性HDFS服务器是否已启动?

  • 请看看 here,似乎Spark默认情况下仅启动临时HDFS服务器。为了切换到持久性HDFS服务器,您必须执行以下操作:
  • 1)停止临时HDFS服务器:/root/ephemeral-hdfs/bin/stop-dfs.sh
  • 2)启动持久性HDFS服务器:/root/persistent-hdfs/bin/start-dfs.sh

  • 请尝试这些方法,希望它们能为您提供良好的服务。

    关于hadoop - 在Amazon EC2中以集群模式在Spark中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32719761/

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