最近在使用hive的时候,出现了新的问题:
1、hive在运行时,正常提交作业后,map/red没调度起来(出现了CPU 100%的情况)如下图:
注意进程号16013这个就是hive的进程。
2、hive运行的时候,还是会出现nio的错误,
3、jps查看到Child进程(实际是该进程已经运行完毕),但kill的时候,该进程却不存在
4、hive的job运行完毕,但表里的记录是空的,重新运行一次,结果就生成了
5、hive运行报
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: java.io.IOException: All datanodes 192.168.2.24:50010 are bad. Aborting...
6 报xml解析异常
org.xml.sax.SAXParseException: Premature end of file. Continuing ... java.util.NoSuchElementException at java.util.Vector.lastElement(Vector.java:456) at com.sun.beans.ObjectHandler.lastExp(ObjectHandler.java:134) at com.sun.beans.ObjectHandler.dequeueResult(ObjectHandler.java:138) at java.beans.XMLDecoder.readObject(XMLDecoder.java:201) at org.apache.hadoop.hive.ql.exec.Utilities.deserializeMapRedWork(Utilities.java:517) at org.apache.hadoop.hive.ql.exec.Utilities.getMapRedWork(Utilities.java:216) at org.apache.hadoop.hive.ql.io.HiveInputFormat.init(HiveInputFormat.java:255) at org.apache.hadoop.hive.ql.io.HiveInputFormat.pushProjectionsAndFilters(HiveInputFormat.java:381) at org.apache.hadoop.hive.ql.io.HiveInputFormat.pushProjectionsAndFilters(HiveInputFormat.java:376) at org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getRecordReader(CombineHiveInputFormat.java:540) at org.apache.hadoop.mapred.MapTask$TrackedRecordReader.<init>(MapTask.java:197) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:418) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) at org.apache.hadoop.mapred.Child$4.run(Child.java:255) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) at org.apache.hadoop.mapred.Child.main(Child.java:249)
7 无法创建新的block
2012-06-29 16:09:05,714 WARN hdfs.DFSClient (DFSClient.java:run(2873)) - DataStreamer Exception: java.io.IOException: Unable to create new block.
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:3398)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2600(DFSClient.java:2589)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:2829)
以上问题将影响到hive的稳定性。将一个个攻克!
端午节三天把hadoop里的RPC包下的几个类看过后,发现如果sever端在读取数据是count<0的话,那么server会主动关闭一个连接,我后来在hadoop的日志级别调整到DEBUG后,也有这样的信息出现。
目前正在仔细研究交互的过程中,那些信息传输会导致server端读取不到数据。
但是RPC调用过程中,都是会进行方法名的传输的。
相关进度查看 关于hadoop的java.nio.channels.ClosedByInterruptException