我的群集遇到了一个非常奇怪的问题。
每当我尝试将任何大于100 mb(104857600字节)的文件加载到hdfs时,都会失败,并出现以下错误:
所有数据节点都不正确。。。正在中止。
这真的很奇怪,因为100 mb已经成为文件大小的阈值。
即使我尝试将文件大小增加1个单字节(104857601字节),并尝试将其加载到hdfs中,它也会因stacktrace过长而失败。主要是说“所有的数据节点都是坏的。。。“正在中止”
以前有人遇到过类似的情况吗?
有没有可能是由于某些配置的错误更改导致了这种行为?如果是,我可以更改任何限制可接收数据大小的配置吗?
谢谢
2条答案
按热度按时间pnwntuvh1#
“以前有人遇到过类似的情况吗?”
是的,我有。您应该降低运行hadoop的用户的限制。我把hadoop安装在一个linux盒子上,从apache网站下载,但我的系统没有针对它进行调整,我收到了你的消息。这些是cloudera quick start的设置,请将您的限制与这些设置进行比较。
dy1byipe2#
如果您能够从堆栈跟踪中获得数据节点的更多详细信息,那么您应该能够停止作为守护进程之一的datanode。通过终止或停止datanode,您将获得可能已损坏、重新示例化的数据节点。基本上,您正在重新启动该特定数据节点的jvm。命令:停止:
bin/hadoop-daemon.sh stop datanode
开始:bin/hadoop-daemon.sh start datanode