spark读取hdfs的时候出现io异常

问题描述

我现在只部署了一个节点来测试,但是发现无法读取hdfs上的文件,每次都抛出这个io异常。求大神拯救nero01为主机名,192.168.189.101为ip地址。scala>textFile.countjava.io.IOException:Failedonlocalexception:com.google.protobuf.InvalidProtocolBufferException:Messagemissingrequiredfields:callId,status;HostDetails:localhostis:"nero01/192.168.189.101";destinationhostis:"nero01":9000;atorg.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:760)atorg.apache.hadoop.ipc.Client.call(Client.java:1229)atorg.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:202)atsun.proxy.$Proxy16.getFileInfo(UnknownSource)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:164)atorg.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:83)atsun.proxy.$Proxy16.getFileInfo(UnknownSource)atorg.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:628)atorg.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:1532)atorg.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:803)atorg.apache.hadoop.fs.FileSystem.globStatusInternal(FileSystem.java:1635)atorg.apache.hadoop.fs.FileSystem.globStatus(FileSystem.java:1581)atorg.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:174)atorg.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:205)atorg.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:201)atorg.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:205)atorg.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:203)atscala.Option.getOrElse(Option.scala:120)atorg.apache.spark.rdd.RDD.partitions(RDD.scala:203)atorg.apache.spark.rdd.MappedRDD.getPartitions(MappedRDD.scala:28)atorg.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:205)atorg.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:203)atscala.Option.getOrElse(Option.scala:120)atorg.apache.spark.rdd.RDD.partitions(RDD.scala:203)atorg.apache.spark.SparkContext.runJob(SparkContext.scala:1328)atorg.apache.spark.rdd.RDD.count(RDD.scala:910)at$iwC$$iwC$$iwC$$iwC.<init>(<console>:15)at$iwC$$iwC$$iwC.<init>(<console>:20)at$iwC$$iwC.<init>(<console>:22)at$iwC.<init>(<console>:24)at<init>(<console>:26)at.<init>(<console>:30)at.<clinit>(<console>)at.<init>(<console>:7)at.<clinit>(<console>)at$print(<console>)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:852)atorg.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1125)atorg.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:674)atorg.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:705)atorg.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:669)atorg.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:828)atorg.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:873)atorg.apache.spark.repl.SparkILoop.command(SparkILoop.scala:785)atorg.apache.spark.repl.SparkILoop.processLine$1(SparkILoop.scala:628)atorg.apache.spark.repl.SparkILoop.innerLoop$1(SparkILoop.scala:636)atorg.apache.spark.repl.SparkILoop.loop(SparkILoop.scala:641)atorg.apache.spark.repl.SparkILoop$$anonfun$process$1.apply$mcZ$sp(SparkILoop.scala:968)atorg.apache.spark.repl.SparkILoop$$anonfun$process$1.apply(SparkILoop.scala:916)atorg.apache.spark.repl.SparkILoop$$anonfun$process$1.apply(SparkILoop.scala:916)atscala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)atorg.apache.spark.repl.SparkILoop.process(SparkILoop.scala:916)atorg.apache.spark.repl.SparkILoop.process(SparkILoop.scala:1011)atorg.apache.spark.repl.Main$.main(Main.scala:31)atorg.apache.spark.repl.Main.main(Main.scala)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:358)atorg.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:75)atorg.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)Causedby:com.google.protobuf.InvalidProtocolBufferException:Messagemissingrequiredfields:callId,statusatcom.google.protobuf.UninitializedMessageException.asInvalidProtocolBufferException(UninitializedMessageException.java:81)atorg.apache.hadoop.ipc.protobuf.RpcPayloadHeaderProtos$RpcResponseHeaderProto$Builder.buildParsed(RpcPayloadHeaderProtos.java:1094)atorg.apache.hadoop.ipc.protobuf.RpcPayloadHeaderProtos$RpcResponseHeaderProto$Builder.access$1300(RpcPayloadHeaderProtos.java:1028)atorg.apache.hadoop.ipc.protobuf.RpcPayloadHeaderProtos$RpcResponseHeaderProto.parseDelimitedFrom(RpcPayloadHeaderProtos.java:986)atorg.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:938)atorg.apache.hadoop.ipc.Client$Connection.run(Client.java:836)有人遇过这类问题吗?能分析到原因解决掉的话,可以追加分

解决方案

解决方案二:

解决方案三:

这个问题你解决了吗?我也遇到一样的问题。
解决方案四:

这个问题你解决了吗?我也遇到一样的问题。
解决方案五:

这个问题你解决了吗?我也遇到一样的问题。

时间: 2024-10-27 10:54:50

spark读取hdfs的时候出现io异常的相关文章

Spark读取Hdfs

问题描述 最近才开始搞spark,请问各位大神怎么让spark高效的读取Hdfs上的二进制文件,求解决,急~~~ 解决方案 解决方案二:SparkContext中有sequenceFile[K,V]方法用来读取序列化二进制文件,K和V是文件中的key和values类型.它们必须是Hadoop的Writable的子类.解决方案三: 解决方案四:谢谢,我试试

并发-HDFS能支持异步IO写来利用分布式的好处吗?

问题描述 HDFS能支持异步IO写来利用分布式的好处吗? 一个程序,可能同时打开几千甚至上万个文件写到HDFS文件系统里面,如果顺序来写的话,完全无法得到分布式文件系统的好处.但我没看到HDFS API里有异步写的接口. 当然可能用线程来实现并发,但同时开几千个线程,恐怕操作系统受不了吧. 解决方案 分布式Spark可以直接对HDFS进行数据的读写,同样支持Spark on...和Hive的兼容性 解决方案二: (1)你的计算机上此刻运行着超过1000个线程,这很正常 (2)基于存储系统的物理构

分享一个异步任务在遇到IO异常时支持递归回调的辅助方法

public void TryAsyncActionRecursively<TAsyncResult>( string asyncActionName, Func<Task<TAsyncResult>> asyncAction, Action<int> mainAction, Action<TAsyncResult> successAction, Func<string> getContextInfoFunc, Action<E

JDBC连接Oracle数据库出现Io 异常

环境:Oracle11g + MyEclipse 6.5 + JDK1.6 问题:JDBC连接Oracle数据库出现以下错误: java.sql.SQLRecoverableException: Io 异常: The Network Adapter could not establish the connection at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101) at oracle.

spark计算hdfs上的文件时报错

问题描述 spark计算hdfs上的文件时报错 scala> val rdd = sc.textFile("hdfs://...") scala> rdd.count java.lang.VerifyError: class org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$AppendRequestProto overrides final method getUnknownFields.

C#运行程序后,触摸屏设备上弹出IO异常,打开串口失败

问题描述 上位机C#编写的智能设备应用程序,用USB线连接触摸屏设备,WinCE6.0,在Class1.cs的串口初始化函数中尝试打开串口,若捕获到异常,则显示异常,代码如下所示.串口就只在串口初始化函数中打开一次,串口关闭和自定义三个线程Abort都写在了Form1的Closing事件中,这样应该没问题吧?但部署运行后,有时会在屏幕上出现IO异常的提示框,见下图,重启VS2008软件不能解决问题,只有设备重启后,才不出现,请问是怎么回事呢,该如何解决?感谢高手相助~try{comport.Op

伪分布模式-读取HDFS上的文件问题

问题描述 读取HDFS上的文件问题 在伪分布模式下测试代码,在eclipse里建了个项目,然后在map函数里我想从hdfs中读取文件数据(testData.csv),然后这几段代码就会出现问题,String str_url="hdfs://localhost:9000";URI.creat(str_url);String str="hdfs://localhost:9000/user/input/testData.csv";Path path=new Path(st

连接oracle抛异常 o-java 连接 oracle数据库 抛 Io 异常 ... 求解啊!!

问题描述 java 连接 oracle数据库 抛 Io 异常 ... 求解啊!! import java.sql.*; public class TestJDBC { public static void main(String[] args) throws Exception{ Class.forName("oracle.jdbc.driver.OracleDriver"); //new oracle.jdbc.driver.OracleDriver(); Connection co

java.sql.SQLException: Io 异常: 连接超时

问题描述 帮我看看咋回事啊?我搞不懂.就是运行很久的一个项目,最近突然就动不动就登陆不了,然后连首页都显示不出来了.然后只能重启服务,就又没问题了.老师需要重启.帮我看看日志全是这个,是什么意思啊?ERROR 2013-12-06 13:12:20,831 org.logicalcobwebs.proxool.GAP-Pool #0041 encountered errors during destruction: java.sql.SQLException: Io 异常: 连接超时at ora