Hbase HRegionServer WARN并在一段时间后关闭

时间:2016-07-28 03:37:23

标签: hbase

我有一个小的hadoop集群(4个服务器),并使用hbase安装,但它不能正常工作。 在我选择' start-hbase.sh'之后,在3个HRegionServer的日志

  

2016-07-27 21:29:55,122 WARN [块BP-1601089490-xx.xx.xx.xx-1469276064635:blk_1073742337_1586的ResponseProcessor] hdfs.DFSClient:DFSOutputStream块BP-1601089490-xx.xx的ResponseProcessor异常.xx.xx-1469276064635:blk_1073742337_1586   java.io.EOFException:过早的EOF:没有可用的长度前缀       at org.apache.hadoop.hdfs.protocolPB.PBHelper.vintPrefixed(PBHelper.java:2000)       在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的错误恢复:管道xx.xx.xx.200中的blk_1073742337_1586:50010,xx.xx.xx.20:50010:错误的datanode 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。 (节点:current = [xx.xx.xx.20:50010],original = [xx.xx.xx.20:50010])。当前失败的datanode替换策略是DEFAULT,客户端可以通过&dffs.client.block.write.replace-datanode-on-failure.policy'来配置它。在其配置中。       at org.apache.hadoop.hdfs.DFSOutputStream $ DataStreamer.findNewDatanode(DFSOutputStream.java:969)       at org.apache.hadoop.hdfs.DFSOutputStream $ DataStreamer.addDatanode2ExistingPipeline(DFSOutputStream.java:1035)       在org.apache.hadoop.hdfs.DFSOutputStream $ DataStreamer.setupPipelineForAppendOrRecovery(DFSOutputStream.java:1184)       at 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>

它仍然记录了这个警告,我已经谷歌了,但没什么可做的。所以,有人能帮帮我吗?

1 个答案:

答案 0 :(得分: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>

比工作......

参考 - &gt; http://blog.csdn.net/zhaokunwu/article/details/7336892