我正在尝试运行Hadoop balancer命令,如下所示:
hadoop balancer -threshold 1
但是我收到几条WARN消息
无法将大小= 134217728的blk_1073742036_1212从192.168.30.4:50010移动到192.168.30.2:50010到192.168.30.4:50010:块移动失败:无法从/192.168.10.3:53115接收块1073742036,因为超出了线程配额.
并且最后......
没有块被移动了5次迭代.退出...平衡需要4.092883333333333分钟
我设置ulimit值如下:
核心文件大小(块,-c)0
数据seg大小(kbytes,-d)无限制
调度优先级(-e)0
文件大小(块,-f)无限制
挂起信号(-i)2065455
最大锁定内存(kbytes, - l)无限
最大内存大小(千字节,-m)无限制
打开文件(-n)64000
管道大小(512字节,-p)8
POSIX消息队列(字节,-q)819200
实时优先级(-r)0
堆栈size(kbytes,-s)10240
cpu time(seconds,-t)无限制
最大用户进程数(-u)65535
虚拟内存(kbytes,-v)无限制
文件锁(-x)无限制
但我仍然得到同样的错误.
有人可以给我一些建议.感谢您的帮助.
有人可以解释一下build.prop中的以下属性,
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=128m
dalvik.vm.heaptargetutilization=0.75
dalvik.vm.heapminfree=512k
dalvik.vm.heapmaxfree=2m
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
我正在使用Hadoop 2.3.0版本.有时,当我执行Map reduce作业时,将显示以下错误.
14/08/10 12:14:59 INFO mapreduce.Job: Task Id : attempt_1407694955806_0002_m_000780_0, Status : FAILED
Error: java.io.IOException: All datanodes 192.168.30.2:50010 are bad. Aborting...
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.setupPipelineForAppendOrRecovery(DFSOutputStream.java:1023)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.processDatanodeError(DFSOutputStream.java:838)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:483)
Run Code Online (Sandbox Code Playgroud)
当我尝试检查这些失败任务的日志文件时,此任务的日志文件夹将为空.
我无法理解这个错误背后的原因.有人可以让我知道如何解决这个问题.谢谢你的帮助.