问题描述
System.setProperty("user.name","root")valspark=newSparkContext("spark://miluo1:7077","SparkPi","/usr/spark-1.3.1")spark.addJar("C:\Users\root\Desktop/io.jar")valsc=spark.textFile("file:/root/2txt")varsss=sc.first()println(sss)spark.stop()上面是代码,我是在Windows下eclipse(带scala插件)里直接运行的。算是远程提交吧。但是读取不到文件。。如果是把spark://miluo1:7077换成local(本地模式)则没有问题。下面是错误:1.eclipse里的报错:15/04/2910:45:59INFOSparkContext:Createdbroadcast0fromtextFileatSparkJava.java:21Exceptioninthread"main"org.apache.hadoop.mapred.InvalidInputException:Inputpathdoesnotexist:file:/root/2txtatorg.apache.hadoop.mapred.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:285)atorg.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:228)atorg.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:313)atorg.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:203)2.日志报错(work节点上的)15/04/2910:23:49ERRORFileAppender:Errorwritingstreamtofile/usr/spark-1.3.1/work/app-20150429102347-0046/0/stderrjava.io.IOException:Streamclosedatjava.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:162)atjava.io.BufferedInputStream.read1(BufferedInputStream.java:272)atjava.io.BufferedInputStream.read(BufferedInputStream.java:334)atjava.io.FilterInputStream.read(FilterInputStream.java:107)atorg.apache.spark.util.logging.FileAppender.appendStreamToFile(FileAppender.scala:70)atorg.apache.spark.util.logging.FileAppender$$anon$1$$anonfun$run$1.apply$mcV$sp(FileAppender.scala:39)atorg.apache.spark.util.logging.FileAppender$$anon$1$$anonfun$run$1.apply(FileAppender.scala:39)atorg.apache.spark.util.logging.FileAppender$$anon$1$$anonfun$run$1.apply(FileAppender.scala:39)atorg.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1618)atorg.apache.spark.util.logging.FileAppender$$anon$1.run(FileAppender.scala:38)15/04/2910:23:49INFOWorker:Executorapp-20150429102347-0046/0finishedwithstateKILLEDexitStatus14315/04/2910:23:49INFOWorker:Cleaninguplocaldirectoriesforapplicationapp-20150429102347-0046有没大神做过远程提交的。。。我之前做好了hadoop的远程作业提交和web项目整合。。。希望大家多多指点下
解决方案
解决方案二:
检查下你的spark的端口是不是7077应该你的spark配的不是这个端口你看下配置文件我遇到过这样的问题是因为spark端口写错了
解决方案三:
能读到就见鬼了,你把file:/root/2txt的文件复制到每个work节点
解决方案四:
请问这个问题你后来解决了吗?我也遇到了这个问题。
解决方案五:
我后来发现了,textFile应该是读的本地的文件,也就是你windows上的文件,然后提交到集群,而不是提交到集群,集群再去各个节点那个路径下读取文件。
解决方案六:
引用3楼fine_weather的回复:
请问这个问题你后来解决了吗?我也遇到了这个问题。
你好,我想请问下在window下eclipse调试spark需要在本机安装哪些东西,我在本地调试各种问题。
解决方案七:
你可以把本地文件传到hdfs上,然后读取hdfs上的文件,