[英]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.