我有一个问题,一些信息如下:
节点:3个节点,但只有configurtion 2 regionserver
os:Centos6.3
Apache Hadoop2.7.1
Apache Hbase0.98.12
我的hadoop和hbase支持lzo压缩,同时支持snappy压缩成功,我有一个使用lzo压缩的hbase表,并且有其他hbase表使用snappy压缩,我将50个重新编码器数据插入此表,好的,插入是没问题,但是当我使用java api扫描这个表时,其中一个regionserver被解除了。
我检查hbase日志,但没有错误或异常,但我检查hadoop日志,我发现 一些例外:
java.io.IOException: Premature EOF from inputStream
at org.apache.hadoop.io.IOUtils.readFully(IOUtils.java:201)
at org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.doReadFully(PacketReceiver.java:213)
at org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.doRead(PacketReceiver.java:134)
at org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.receiveNextPacket(PacketReceiver.java:109)
at org.apache.hadoop.hdfs.server.datanode.BlockReceiver.receivePacket(BlockReceiver.java:472)
at org.apache.hadoop.hdfs.server.datanode.BlockReceiver.receiveBlock(BlockReceiver.java:849)
at org.apache.hadoop.hdfs.server.datanode.DataXceiver.writeBlock(DataXceiver.java:804)
at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.opWriteBlock(Receiver.java:137)
at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.processOp(Receiver.java:74)
at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:251)
我不知道为什么只在扫描hbase表中抛出异常,因为我执行MR作业读取lzo文件是正常的,谢谢你的回答!
答案 0 :(得分:0)
您错过了内容最后一行的回复。你必须使用这样的条件来控制EOF:
while (line = mycontent.readLine()) != null)
{
...
...
}
答案 1 :(得分:0)