测试HDFS 5000万个文件场景时,看到Datanode的log上不断的报如下异常
11/11/10 00:00:00 ERROR datanode.DataNode: DatanodeRegistration(172.17.1.23:50010, storageID=DS-857985192-202.106.199.37-50010-1320820941090, infoPort=8083, ipcPort=50020):DataXceiver java.lang.IllegalArgumentException: n must be positive at java.util.Random.nextInt(Random.java:250) at org.apache.hadoop.hdfs.server.datanode.DataBlockScanner.getNewBlockScanTime(DataBlockScanner.java:284) at org.apache.hadoop.hdfs.server.datanode.DataBlockScanner.addBlock(DataBlockScanner.java:301) at org.apache.hadoop.hdfs.server.datanode.DataXceiver.writeBlock(DataXceiver.java:372) at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:103) at java.lang.Thread.run(Thread.java:662)
经过跟踪,发现问题是出在DataBlockScanner内:
long period = Math.min(scanPeriod,
Math.max(blockMap.size(),1) * 600 * 1000L);
return System.currentTimeMillis() - scanPeriod +
random.nextInt((int)period);
当BlockMap特别大的时候,比如我这里上传了5000万个文件,每个文件4KB,该数值会大于Integer.MAX 小于Long.MAX,强制转换成int会负数,导致nextInt抛出异常。
该处修改,只需要把
random.nextInt((int)period)
,替换成
random.nextInt(Math.abs((int)period))
即可。
后来又发现Hadoop已经有人提这个bug了,
https://issues.apache.org/jira/browse/HDFS-2541
分享到:
相关推荐
实战Hadoop 2.0:从云计算到大数据(第二版)
Hadoop安全:大数据平台隐私保护 Hadoop安全:大数据平台隐私保护 Hadoop安全:大数据平台隐私保护
Hadoop实战:Hadoop in Action
大数据安全-kerberos技术-hadoop安装包,hadoop版本:hadoop-3.3.4.tar.gz
Hadoop大数据:处理技术基础与实践
Apache Hadoop YARN:Moving beyond MapReduce and Batch Processing with Apach 2 【yarn权威指南】
hadoop权威指南代码 (Hadoop: The Definitive Guide code) http://www.hadoopbook.com
Hadoop安全:大数据平台隐私保护,让集群数据可以更加安全,按照文档中内容操作,可以保障集群中的数据
Hadoop实例:二度人脉与好友推荐,供大家一起共同分享学习。
Hadoop databases: Hive, Impala, Spark, Presto For ORACLE DBAs
hadoop2.7汇总:新增功能最新编译64位安装、源码包、API、eclipse插件下载
"Data Analytics with Hadoop: An Introduction for Data Scientists" ISBN: 1491913703 | 2016 | PDF | 288 pages | 7 MB Ready to use statistical and machine-learning techniques across large data sets? ...
Hadoop: The Definitive Guide is a comprehensive resource for using Hadoop to build reliable, scalable, distributed systems. Programmers will find details for analyzing large datasets with Hadoop, and...
NULL 博文链接:https://mr-lili-1986-163-com.iteye.com/blog/1095200
资源名称:云计算Hadoop:快速部署Hadoop集群内容简介: 近来云计算越来越热门了,云计算已经被看作IT业的新趋势。云计算可以粗略地定义为使用自己环境之外的某一服务提供的可伸缩计算资源,并按使用量付费。可以...
[Hadoop权威指南(第2版)].(Hadoop:The.Definitive.Guide).Tom.White.文字版.pdf
英文版,中文书名:Hadoop YARN权威指南。高清完美原书PDF版本,非MOBI版。
摘要:本文将详细介绍如何使用 IBCS 虚拟专线搭建 Hadoop 集群,同时阐述 IBCS 虚拟专线 在提高 Hadoop 集群性能和稳定性方面的优势。使用 IBCS 虚拟专线搭建 Hadoop 集群具有显著的优势。企业可以通过 IBCS 虚拟 ...