在我们的集群中,本地磁盘很小,而我们有一个巨大的网络挂载共享文件系统。为此目的使用共享驱动器安全吗?星火创建的tmp文件夹有唯一的ID吗?
发布于 2019-03-26 12:38:30
与Hadoop相比,即使Spark不需要很大的磁盘空间,我相信对于提供足够大的、可能很快的文件系统(SSD)来说也是至关重要的。
Spark使用FS进行的一些重要操作包括:
前三个当然需要很高的I/O吞吐量,因此我将避免增加网络延迟的额外开销,否则我相信火花会变得更慢。当然,唯一的例外是,您知道您的网络可以达到FS的I/O吞吐量!
在官方的火花文档中也强调了这一点,涉及到spark.local.dir属性:
目录用于Spark中的“划痕”空间,包括存储在磁盘上的映射输出文件和RDD。这应该在您的系统中的快速本地磁盘上。它还可以是不同磁盘上多个目录的逗号分隔列表。注意:在Spark1.0及更高版本中,这将被集群管理器设置的SPARK_LOCAL_DIRS (独立的)、MESOS_SANDBOX (Mesos)或LOCAL_DIRS ( set )环境变量覆盖。
要回答初始答案是的,由Spark创建的文件具有唯一的ID,尽管将它们放置在同一个目录中,也会增加ID冲突的可能性。
最后,我认为,在您的情况下,最优的方法是将日志移动到某个共享目录中,并将spark.local.dir保存在FS下。
一些有用的链接:
https://stackoverflow.com/questions/55355544
复制相似问题