No live nodes contain current block. Will get new block locations from namenode and retry...
来源:互联网 发布:win7一键优化工具 编辑:程序博客网 时间:2024/05/09 14:52
1 多个用户操作hdfs和hbase时,出现以下异常,大概意思就是无法连接datanode,获取不到数据
INFO hdfs.DFSClient: Could not obtain block blk_-3181406624357578636_19200 from any node: java.io.IOException: No live nodes contain current block. Will get new block locations from namenode and retry...13/07/23 09:06:39 WARN hdfs.DFSClient: Failed to connect to /192.168.3.4:50010, add to deadNodes and continuejava.net.SocketException:
2 用hadoop fsck / 检查hdfs文件,结果是healthy,说明节点数据没问题,namenode和datanode应该也一致
3 查看datanode的log
发现是DataXceiver的问题,DataXceiver的值大于4096了,所以无法提供读写,这个值以前改成4096,现在发现这个值还是太小了
在配置文件中改成:
<property> <name>dfs.datanode.max.xcievers</name> <value>12288</value> </property>
4 问题还是没有解决 接着datanode的log报如下错误
2012-06-18 17:47:13 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode DatanodeRegistration(x.x.x.x:50010, storageID=DS-196671195-10.10.120.67-50010-1334328338972, infoPort=50075, ipcPort=50020):DataXceiverjava.net.SocketTimeoutException: 480000 millis timeout while waiting for channel to be ready for write. ch : java.nio.channels.SocketChannel[connected
https://issues.apache.org/jira/browse/HDFS-3555 这篇帖子说是客户端的问题,导致datanode无法向客户端写数据,重新检查代码,因为文件较多,发现每次读取数据都没有关闭文件
5 改好后,重启集群,发现hbase启动时无法加载META表
org.apache.hadoop.hbase.NotServingRegionException: org.apache.hadoop.hbase.NotServingRegionException: Region is not online: .META.,,1
http://www.zihou.me/html/2013/06/27/8673.html按照这篇帖子解决,重启后hbse没有问题
6 之后多线程读取数据时,一段时间后,仍有region无法提供服务,这种情况肯定是datanode的问题,但是DataXceiver已经改成很大,继续查看代码,每次读取数据时都获取了FileSystem实例,而且没有关闭,更改后,问题解决
总结:其实这个问题和集群没有什么关系DataXceiver设置成4096应该也没问题
自己的问题有2个
第一:每次读文件都没有关闭文件
第二:不要多次获取FileSystem实例
- No live nodes contain current block. Will get new block locations from namenode and retry...
- block and static block
- get current user and user profile path from window service
- Block devices and block sizes
- consistent get,db block get
- consistent get,db block get
- <BEA-141281> <unable to get file lock, will retry ...>
- <BEA-141281> <unable to get file lock, will retry ...>
- <BEA-141281> <unable to get file lock, will retry ...> --reference
- <unable to get file lock, will retry ...>进程重复启动
- Block
- block
- Block
- block
- block
- block
- block
- block
- zend framework1.11使用原生代码获取结果
- m inicom 配置
- TP-Link曝后门漏洞 攻击者可控制无线路由器
- 百度云率先点燃云存储风暴:不放弃每一个用户
- C++中继承自array不要使用多态
- No live nodes contain current block. Will get new block locations from namenode and retry...
- python中出现的小bug
- java实现快速排序
- 程序员技术练级攻略
- 线段树经典题目 矩形面积
- 突然有个多平台运行的idea
- JSON与DataTable(DataSet)相互转化
- int,long,long long,__int64数据类型范围
- struts中全局或局部的转发和重定向配置