无法将大于100MB的文件加载到hdfs中

fv2wmkja  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(363)

我的群集遇到了一个非常奇怪的问题。
每当我尝试将任何大于100 mb(104857600字节)的文件加载到hdfs时,都会失败,并出现以下错误:
所有数据节点都不正确。。。正在中止。
这真的很奇怪,因为100 mb已经成为文件大小的阈值。
即使我尝试将文件大小增加1个单字节(104857601字节),并尝试将其加载到hdfs中,它也会因stacktrace过长而失败。主要是说“所有的数据节点都是坏的。。。“正在中止”
以前有人遇到过类似的情况吗?
有没有可能是由于某些配置的错误更改导致了这种行为?如果是,我可以更改任何限制可接收数据大小的配置吗?
谢谢

pnwntuvh

pnwntuvh1#

“以前有人遇到过类似的情况吗?”
是的,我有。您应该降低运行hadoop的用户的限制。我把hadoop安装在一个linux盒子上,从apache网站下载,但我的系统没有针对它进行调整,我收到了你的消息。这些是cloudera quick start的设置,请将您的限制与这些设置进行比较。

[cloudera@quickstart ~]$ ulimit -a 
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 30494
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
dy1byipe

dy1byipe2#

如果您能够从堆栈跟踪中获得数据节点的更多详细信息,那么您应该能够停止作为守护进程之一的datanode。通过终止或停止datanode,您将获得可能已损坏、重新示例化的数据节点。基本上,您正在重新启动该特定数据节点的jvm。命令:停止: bin/hadoop-daemon.sh stop datanode 开始: bin/hadoop-daemon.sh start datanode

相关问题