关于spark入门报错 java.io.FileNotFoundException: File file:/home/dummy/spark_log/file1.txt does not exist

不想看废话的可以直接拉到最底看总结

废话开始:

master:

master主机存在文件,却报

执行spark-shell语句:  ./spark-shell  --master spark://master:7077 --executor-memory 1G --total-executor-cores 2

报错:WARN TaskSetManager: Lost task 1.0 in stage 0.0 (TID 1, slave02): java.io.FileNotFoundException: File file:/home/dummy/spark_log/file1.txt does not exist

明明指定了master主机,为什么会报错slave02找不到文件呢

把文件改为file.txt  file2.txt还是同样的错误,所以你就会觉得他是从slave02读取文件的吧?

那就在slave02创建个aa.txt:

返回master执行

然后报错

导入路径找到不?这是很多新手就懵逼了

其实原因在于最初的执行spark-shell语句:  ./spark-shell  --master spark://master:7077 --executor-memory 1G --total-executor-cores 2

每个主机的executor默认是一个core ! 这里设置为2个,就会从其他主机拉取一个core

用jps查看3台主机的进程:

master:

slave01:

slave02:

CoarseGrainedExecutorBackend是什么?

我们知道Executor负责计算任务,即执行task,而Executor对象的创建及维护是由CoarseGrainedExecutorBackend负责的

总结:

在spark-shell里执行textFile方法时,如果total-executor-cores设置为N,哪N台机有CoarseGrainedExecutorBackend进程的,读取的文件需要在这N台机都存在

如果设置为1,就读取指定的master spark的文件

如果只执行   ./spark-shell  就读取启动命令的主机的文件,即在哪台机启动就读取哪台机

以上仅为个人小白的观点,如有错误,欢迎纠正!

---恢复内容结束---

不想看废话的可以直接拉到最底看总结

废话开始:

master:

master主机存在文件,却报

执行spark-shell语句:  ./spark-shell  --master spark://master:7077 --executor-memory 1G --total-executor-cores 2

报错:WARN TaskSetManager: Lost task 1.0 in stage 0.0 (TID 1, slave02): java.io.FileNotFoundException: File file:/home/dummy/spark_log/file1.txt does not exist

明明指定了master主机,为什么会报错slave02找不到文件呢

把文件改为file.txt  file2.txt还是同样的错误,所以你就会觉得他是从slave02读取文件的吧?

那就在slave02创建个aa.txt:

返回master执行

然后报错

导入路径找到不?这是很多新手就懵逼了

其实原因在于最初的执行spark-shell语句:  ./spark-shell  --master spark://master:7077 --executor-memory 1G --total-executor-cores 2

每个主机的executor默认是一个core ! 这里设置为2个,就会从其他主机拉取一个core

用jps查看3台主机的进程:

master:

slave01:

slave02:

CoarseGrainedExecutorBackend是什么?

我们知道Executor负责计算任务,即执行task,而Executor对象的创建及维护是由CoarseGrainedExecutorBackend负责的

总结:

在spark-shell里执行textFile方法时,如果total-executor-cores设置为N,哪N台机有CoarseGrainedExecutorBackend进程的,读取的文件需要在这N台机都存在

如果设置为1,就读取指定的master spark的文件

如果只执行   ./spark-shell  就读取启动命令的主机的文件,即在哪台机启动就读取哪台机

以上仅为个人小白的观点,如有错误,欢迎纠正!

原文地址:https://www.cnblogs.com/dummyly/p/10000421.html

时间: 2024-10-25 21:40:54

关于spark入门报错 java.io.FileNotFoundException: File file:/home/dummy/spark_log/file1.txt does not exist的相关文章

新手迷惑:复制文件路径报错java.io.FileNotFoundException

? 被这个问题搞了很久,可能是太基本了,所以很多人都解决不了,自己找了很多网页,都讲得太高深了,解决不了问题.于是乎,自己捯饬了很久,才能清楚这个简单.很简单的问题.还是记录一下,好记性不如烂笔头,方便后来人! ? 问题:复制文件路径报错java.io.FileNotFoundException: (文件名.目录名或卷标语法不正确.) ? 方法就是:复制路径之后,把最前面的空格去掉就是了,加上双引号.. ? ? ? ? ? ? ? ? ? 很基本吧,但是没人告诉你,就有可能自己摸索很久,哎,小问

报错java.io.IOException: 系统找不到指定的路径

在eclipse用Java输出内容到一个本地文件,报错java.io.IOException: 系统找不到指定的路径. at java.base/java.io.WinNTFileSystem.createFileExclusively(Native Method) at java.base/java.io.File.createNewFile(File.java:1024) at wyx.zcself.testFStream.MyWYX.main(MyWYX.java:39) 代码如下截图:

jsp报错java.io.IOException: Stream closed

在使用jsp的时候莫名其妙的抛出了这个异常,经过反复检查 去掉了网友们说的jsp使用流未关闭,以及tomcat版本冲突等原因,最后发现是书写格式的原因. 当时使用的代码如下 <jsp:include page="/WEB-INF/view/edu/common/pagination.jsp "></jsp:include>   原因就是page值的末尾多了一个空格.去掉即可 原文地址:https://www.cnblogs.com/fanwenhao/p/839

java.io.FileNotFoundException: (系统找不到指定的路径。)

报错 :java.io.FileNotFoundException: (系统找不到指定的路径.) java.io.FileNotFoundException: E:\code\operem_demo\src\main\resources\static\upload\zip\841195824A88E198C82A9ABB8023522D.zip (系统找不到指定的路径.) at java.io.FileOutputStream.open0(Native Method) at java.io.Fi

SpringBoot 上传文件到linux服务器 异常java.io.FileNotFoundException: /tmp/tomcat.50898……解决方案

SpringBoot 上传文件到linux服务器报错java.io.FileNotFoundException: /tmp/tomcat.50898-- 报错原因: 解决方法 java.io.IOException: java.io.FileNotFoundException: /tmp/tomcat.5089835798184465073.8081/work/Tomcat/localhost/ROOT/www/server/apache-tomcat-8.5.32/webapps/jxmsto

【c3p0】报错:java.io.FileNotFoundException: Resource not found at path &#39;/mchange-log.properties&#39;

配置项目启动初始,报错如下: 1 java.io.FileNotFoundException: Resource not found at path '/mchange-commons.properties'. 2 at com.mchange.v2.cfg.BasicPropertiesConfigSource.propertiesFromSource(BasicPropertiesConfigSource.java:64) 3 at com.mchange.v2.cfg.BasicMulti

freemarker报 java.io.FileNotFoundException:及TemplateLoader使用

使用过freemarker的肯定其见过如下情况: 1 java.io.FileNotFoundException: Template xxx.ftl not found. 模板找不到.可能你会认为我明明指定了文件,并且文件存在,但是为什么就是说找不到呢? 经过研究官方的API,原来freemarker在加载模板时,建议使用TemplateLoader,通过TemplateLoader指定从哪个目录开始加载模板,并且把模板加载在缓存中. API的TemplateLoader是一个接口,他有如下几个

Play生产模式下java.io.FileNotFoundException那点事

之前”用Scala+Play构建地理数据查询接口”那篇文章里,用到的数据是json格式的文本文件area.json,存放在conf/jsons文件夹下.最开始是放在public/文件夹下,在线上准生产模式下运行: activator dist 得到mosquito-1.0.zip压缩包,解压后: 去/bin目录下运行mosquito脚本报错: java.io.FileNotFoundException 然后就去解压的mosquito-1.0/看发现并没有public文件夹,由此可见public文

nested exception is java.io.FileNotFoundException: Could not open ServletContext resource

<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> 注意这段配置尽量写在靠前的位置,因为在tomcat启动后web项目会先初始化上下文,我们这段配置正是指定了上下文配置的文件位置,在上下文初始化完成之后才应当继