spark2.4.6报 java.io.FileNotFoundException

    技术2022-07-14  76

    **

    spark2.4.6报 java.io.FileNotFoundException

    ** 提示:WARN TaskSetManager: Lost task 1.0 in stage 0.0 (TID 1, 172.16.50.32, executor 1):java.io.FileNotFoundException: File file:/home/hadoop/input/wc.txt does not exist

    在确认文件存在的情况下,出现这个问题的原因是:我们是在集群上运行wordcount程序,运行时只在上传了wc.txt的Worker节点上读取到文件,别的节点并没有读到文件,所以会报FileNotFoundException

    **解决方式1:**将要读取的数据文件同步到每一个(Worker)节点上,然后运行程序,就不会报警告了 **解决方式2:**若为普通集群,直接将数据文件上传到hdfs,达到数据共享,运行wordcount程序,就不会报警告了

    sc.textFile("hdfs://hrbu31:9000/data/wordcount.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

    **解决方式3:**若为高可用集群(HA)

    1).将数据文件上传到hdfs,达到数据共享

    hdfs dfs -put wordcount.txt /data/

    2).拷贝hadoop中的core-site.xml和hdfs-site.xml文件到spark中的conf文件夹下

    [hadoop@hrbu30 ~]$ cp /opt/ha/hadoop/etc/hadoop/core-site.xml /opt/wdp/spark/conf/ [hadoop@hrbu30 ~]$ cp /opt/ha/hadoop/etc/hadoop/hdfs-site.xml /opt/wdp/spark/conf/

    3).把拷贝到conf文件夹下的文件分发到所有的节点上

    [hadoop@hrbu30 conf]$ xsync core-site.xml [hadoop@hrbu30 conf]$ xsync hdfs-site.xml

    4).最后运行wordcount程序,就不报警告了

    sc.textFile("hdfs://mycluster/data/wordcount.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

    Processed: 0.012, SQL: 9