繁体   English   中英

无法在Spark集群主节点上将大文件加载到HDFS

[英]Unable to load large file to HDFS on Spark cluster master node

我已经在Amazon EC2上启动了一个Spark集群,其中包含1个主节点和2个具有2.7gb内存的服务方节点

但是,当我尝试通过以下代码将3 GB的文件放到HDFS上时

/root/ephemeral-hdfs/bin/hadoop fs -put /root/spark/2GB.bin 2GB.bin

它返回错误,“ / user / root / 2GB.bin只能复制到0个节点,而不是1个”。 仅供参考,我可以上传较小尺寸的文件,但超过一定大小(约2.2 GB)时不能上传。

如果文件超过一个节点的内存大小,难道不是Hadoop会将其拆分到另一个节点吗?

编辑:我对您面临的问题的了解的摘要:

1)HDFS可用总大小为5.32 GB

2)每个节点上的HDFS可用大小为2.6GB

注意:您有坏块(4个副本损坏的块)

以下问答提到了类似的问题: Hadoop put命令引发-只能复制到0个节点,而不是1个

在这种情况下,运行JPS将显示datanode处于关闭状态。

这些问答提出了一种重新启动数据节点的方法:

使用命令行启动和停止hadoop生态系统的最佳方法是什么? Hadoop-重新启动datanode和tasktracker

请尝试重新启动您的数据节点,并让我们知道它是否解决了问题。


使用HDFS时-您只有一个共享文件系统

即所有节点共享相同的文件系统

根据您的描述-HDFS上的当前可用空间约为2.2GB,而您尝试将其放置在其中3GB。

执行以下命令以获取HDFS的可用大小:

hdfs dfs -df -h

hdfs dfsadmin -report

或(对于较旧的HDFS版本)

hadoop fs -df -h

hadoop dfsadmin -report

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM