Hadoop Sqoop导入失败“;设备上没有剩余空间”;

Hadoop Sqoop导入失败“;设备上没有剩余空间”;,hadoop,hdfs,sqoop,Hadoop,Hdfs,Sqoop,Sqoop无法将数据导入hadoop thorwing错误,因为随机表上“设备上没有剩余空间”。我们在HDFS和本地FS上都有足够的空间。不知道为什么,请让我知道如何修复它 SELECT ALTR_DESC WHERE 1=1 WITH UR 2017-03-29 00:32:27 ERROR SqoopThread:165 - Error occurred while importing data HALS.CLOUD_AESC java.lang.RuntimeException:

Sqoop无法将数据导入hadoop thorwing错误,因为随机表上“设备上没有剩余空间”。我们在HDFS和本地FS上都有足够的空间。不知道为什么,请让我知道如何修复它

SELECT ALTR_DESC WHERE 1=1 WITH UR 2017-03-29 00:32:27 ERROR 
SqoopThread:165 - Error occurred while importing data 
HALS.CLOUD_AESC java.lang.RuntimeException:     
java.io.FileNotFoundException: /apps/data/cloud.log 170329.003227.HALSDBP3.1694.TBA_ALTR_DESC.log (No space left on device) at     
com.apache.sqoop.log.LogWriter.close(LogWriter.java:137) at     
com.apache.sqoop.log.LogWriter.flush(LogWriter.java:155) at 
com.apche.sqoop.log.LogWriter.write(LogWriter.java:41) at 
com.apache.sqoop.service.SqoopThread.run(SqoopThread.java:100) at      
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: 
java.io.FileNotFoundException: /apps/data/cloud.log/170329.003227.HALSDBP3.1694.TBA_ALTR_DESC.log (No space left on device) at java.io.FileOutputStream.open(Native Method) at 
java.io.FileOutputStream.(FileOutputStream.java:221) at 
java.io.FileOutputStream.(FileOutputStream.java:142) at 
java.io.FileWriter.(FileWriter.java:78) at 
com.apache.sqoop.log.LogWriter.close(LogWriter.java:127)

这意味着集群的一个(或多个)节点中没有足够的存储空间。检查HDFS的Web UI,查看作业执行时的每个datanode和剩余空间

运行作业后可能会释放此空间,因此您可能需要在作业运行时对其进行检查。如果没有足够的时间来执行此操作(即作业很快),那么您还可以检查每个datanode上的datanode日志,以确定哪个datanode无法存储数据


我不熟悉sqoop,但解决这一问题的标准方法是使用压缩,另一种方法是将复制因子从3减少到2,甚至1(但这会影响容错性和数据局部性)。但是,首先要确定发生这种情况的时间和原因。

hdfs中有足够的空间近50%检查每个群集节点上可用的总可用磁盘空间。一个节点可能会耗尽磁盘,这可能意味着它会承受所有的重负载。桌子(总共)有多大?你有多少空间?复制因子是什么?df-h/apps的输出