2016-07-28 46 views
0

我有一个小的hadoop群集(4台服务器),并安装hbase,但它不能很好地工作。 i之后标签 'start-hbase.sh',在3 HRegionServer的日志Hbase HRegionServer WARN并在一段时间后关闭

2016年7月27日21:29:55122 WARN [ResponseProcessor块BP-1601089490-XX.XX.XX.XX-1469276064635 :blk_1073742337_1586] hdfs.DFSClient:DFSOutputStream对于块BP-1601089490-xx.xx.xx.xx-1469276064635的响应处理器异常:blk_1073742337_1586 java.io.EOFException:过早的EOF:没有可用的长度前缀 at org.apache.hadoop.hdfs .protocolPB.PBHelper.vintPrefixed(PBHelper.java:2000) at org.apache.hadoop.hdfs.protocol.datatransfer.PipelineAck.readFields(PipelineAck.java:176) at org.apache.hadoop.hdfs.DFSOutputStream $ DataStreamer $ ResponseProcessor.run(DFSOutputStream.java:798) 2016-07-27 21:29:55,223 WARN [DataStreamer for file /hbase/WALs/server2,16020,1469669327730/server2%2C16020%2C1469669327730.default.1469669334510 block BP-1601089490-xx.xx.xx.xx-1469276064635 :blk_1073742337_1586] hdfs.DFSClient:错误恢复块BP-1601089490-xx.xx.xx.xx-1469276064635:管道中的blk_1073742337_1586 xx.xx.xx.200:50010,xx.xx.xx.20:50010:数据节点错误xx.xx.xx.200:50010 2016-07-27 21:29:55,247 WARN [DataStreamer for file /hbase/WALs/server2,16020,1469669327730/server2%2C16020%2C1469669327730.default.1469669334510 block BP-1601089490- xx.xx.xx.xx-1469276064635:blk_1073742337_1586] hdfs.DFSClient:DataStreamer异常 java.io.IOException:由于没有更好的Datanode可用于尝试,因此无法替换现有管线上的错误数据节点。 (节点:当前= [xx.xx.xx.20:50010],原始= [xx.xx.xx.20:50010])。当前失败的datanode替换策略是DEFAULT,客户端可以通过配置中的“dfs.client.block.write.replace-datanode-on-failure.policy”进行配置。 在org.apache.hadoop.hdfs.DFSOutputStream $ DataStreamer.findNewDatanode(DFSOutputStream.java:969) 在org.apache.hadoop.hdfs.DFSOutputStream $ DataStreamer.addDatanode2ExistingPipeline(DFSOutputStream.java:1035) 在org.apache。 hadoop.hdfs.DFSOutputStream $ DataStreamer.setupPipelineForAppendOrRecovery(DFSOutputStream.java:1184) 在org.apache.hadoop.hdfs.DFSOutputStream $ DataStreamer.processDatanodeError(DFSOutputStream.java:933) 在org.apache.hadoop.hdfs.DFSOutputStream $ DataStreamer.run(DFSOutputStream.java:487)

不久之后,没有HRegionServer存活。 我不得不配置HDFS-site.xml中与

<property> 
<name>dfs.client.block.write.replace-datanode-on-failure.enable</name> 
<value>true</value> </property> 
<property> <name>dfs.client.block.write.replace-datanode-on-failure.policy</name> 
<value>NEVER</value> 
</property> 

它仍然记录此WARN,我有谷歌,但没有到do.So,任何人可以帮助我吗?

回答

1

这可能是由于超时属性 在HBase的-site.xml中

<property> 
    <name>dfs.client.socket-timeout</name> 
    <value>600000</value> 
</property> 

它600S但在HDFS-site.xml中我不设置它可能是默认设置。 所以同步是不同的。 决心: 设置在HDFS-site.xml中

<property> 
    <name>dfs.client.socket-timeout</name> 
    <value>600000</value> 
</property> 

比它的工作相同的属性...

参考 - >http://blog.csdn.net/zhaokunwu/article/details/7336892