没有足够的空间来缓存内存中的rdd警告

时间:2015-10-16 03:19:57

标签: amazon-web-services amazon-s3 apache-spark rdd

我正在运行一个火花工作,我得到没有足够的空间来缓存内存中的rdd_128_17000 警告。但是,在附件中,显然只使用了719.3 G 中的 90.8 G.这是为什么?谢谢!

15/10/16 02:19:41 WARN storage.MemoryStore: Not enough space to cache rdd_128_17000 in memory! (computed 21.4 GB so far)
15/10/16 02:19:41 INFO storage.MemoryStore: Memory use = 4.1 GB (blocks) + 21.2 GB (scratch space shared across 1 thread(s)) = 25.2 GB. Storage limit = 36.0 GB.
15/10/16 02:19:44 WARN storage.MemoryStore: Not enough space to cache rdd_129_17000 in memory! (computed 9.4 GB so far)
15/10/16 02:19:44 INFO storage.MemoryStore: Memory use = 4.1 GB (blocks) + 30.6 GB (scratch space shared across 1 thread(s)) = 34.6 GB. Storage limit = 36.0 GB.
15/10/16 02:25:37 INFO metrics.MetricsSaver: 1001 MetricsLockFreeSaver 339 comitted 11 matured S3WriteBytes values
15/10/16 02:29:00 INFO s3n.MultipartUploadOutputStream: uploadPart /mnt1/var/lib/hadoop/s3/959a772f-d03a-41fd-bc9d-6d5c5b9812a1-0000 134217728 bytes md5: qkQ8nlvC8COVftXkknPE3A== md5hex: aa443c9e5bc2f023957ed5e49273c4dc
15/10/16 02:38:15 INFO s3n.MultipartUploadOutputStream: uploadPart /mnt/var/lib/hadoop/s3/959a772f-d03a-41fd-bc9d-6d5c5b9812a1-0001 134217728 bytes md5: RgoGg/yJpqzjIvD5DqjCig== md5hex: 460a0683fc89a6ace322f0f90ea8c28a
15/10/16 02:42:20 INFO metrics.MetricsSaver: 2001 MetricsLockFreeSaver 339 comitted 10 matured S3WriteBytes values

enter image description here

2 个答案:

答案 0 :(得分:5)

这可能是由于spark.storage.memoryFraction的配置太低造成的。 Spark将仅使用分配的内存的这一部分来缓存RDD。

尝试:

  • 增加储存分数
  • rdd.persist(StorageLevel.MEMORY_ONLY_SER)通过序列化RDD数据来减少内存使用量
  • 如果达到内存限制,
  • rdd.persist(StorageLevel.MEMORY_AND_DISK)将部分持久保存到磁盘上。

答案 1 :(得分:0)