在我们查看代码时,我们发现 Kylin 在下列位置留下了大量垃圾文件:
- 客户端的本地文件系统
- HDFS
- hadoop 节点的本地文件系统
开了一个单子来追踪这个 issue:
https://issues.apache.org/jira/browse/KYLIN-926
为了将来的开发,请:
- 每当您想在本地创建临时文件时,请选择
File.createTempFile
或使用文件夹:BatchConstants.CFG_KYLIN_LOCAL_TEMP_DIR(/tmp/kylin)
,不要随意使用
/tmp
中的另一个文件夹,它会变得一团糟,看起来不专业。 - 每当您在本地创建临时文件时,请记得在使用之后删除它。最好使用
FileUtils.forceDelete
,因为它也适用于删除文件夹。如果 Kylin 异常退出,请尽量避免使用deleteOnExit
方法。 - 每当您想要在 HDFS 中创建文件,请尝试在
kylin.hdfs.working.dir
或BatchConstants.CFG_KYLIN_HDFS_TEMP_DIR
下创建文件,以及记得在它不再有用之后删除它。尽量避免投掷一切到 hdfs:///tmp 并将其留作垃圾。