ERROR SparkContext: Error initializing SparkContext.

Java.lang.IllegalArgumentException: System memory 259522560 must be at least 4.718592E8. Please use a larger heap size.

在Eclipse里开发Spark项目,尝试直接在spark里运行程序的时候,遇到下面这个报错:

ERROR SparkContext: Error initializing SparkContext.
java.lang.IllegalArgumentException: System memory 468189184 must be at least 4.718592E8. Please use a larger heap size.

很明显,这是JVM申请的memory不够导致无法启动SparkContext。但是该怎么设呢?

通过查看spark源码,发现源码是这么写的:

[java] view plain copy    
  1. /**
  2. * Return the total amount of memory shared between execution and storage, in bytes.
  3. */
  4. private def getMaxMemory(conf: SparkConf): Long = {
  5. val systemMemory = conf.getLong("spark.testing.memory", Runtime.getRuntime.maxMemory)
  6. val reservedMemory = conf.getLong("spark.testing.reservedMemory",
  7. if (conf.contains("spark.testing")) 0 else RESERVED_SYSTEM_MEMORY_BYTES)
  8. val minSystemMemory = reservedMemory * 1.5
  9. if (systemMemory < minSystemMemory) {
  10. throw new IllegalArgumentException(s"System memory $systemMemory must " +
  11. s"be at least $minSystemMemory. Please use a larger heap size.")
  12. }
  13. val usableMemory = systemMemory - reservedMemory
  14. val memoryFraction = conf.getDouble("spark.memory.fraction", 0.75)
  15. (usableMemory * memoryFraction).toLong
  16. }

所以,这里主要是val systemMemory = conf.getLong("spark.testing.memory", Runtime.getRuntime.maxMemory)。

conf.getLong()的定义和解释是

[java] view plain copy

  1. getLong(key: String, defaultValue: Long): Long
  2. Get a parameter as a long, falling back to a default if not set

所以,我们应该在conf里设置一下spark.testing.memory.

通过尝试,发现可以有2个地方可以设置

1. 自己的源代码处,可以在conf之后加上:

val conf = new SparkConf().setAppName("word count")
    conf.set("spark.testing.memory", "2147480000")//后面的值大于512m即可

2. 可以在Eclipse的Run Configuration处,有一栏是Arguments,下面有VMarguments,在下面添加下面一行(值也是只要大于512m即可)

-Dspark.testing.memory=1073741824

其他的参数,也可以动态地在这里设置,比如-Dspark.master=spark://hostname:7077

再运行就不会报这个错误了。

spark Error initializing SparkContext System memory 466092032 must be at least 471859200.相关推荐

  1. Spark-submit:System memory 466092032 must be at least 471859200

    在运行Standalone-client模式时遇到如下错误: Spark Executor Command: "/usr/local/jdk1.8.0_181/bin/java" ...

  2. ERROR SparkContext: Error initializing SparkContext. java.lang.IllegalArgumentException: System memo

    ERROR SparkContext: Error initializing SparkContext. java.lang.IllegalArgumentException: System memo ...

  3. ERROR SparkContext: Error initializing SparkContext. org.apache.spark.SparkException: Could not pars

    ERROR SparkContext: Error initializing SparkContext. org.apache.spark.SparkException: Could not pars ...

  4. System memory 466092032 must be at least

    Error initializing SparkContext. dependencies | java.lang.IllegalArgumentException: System memory 46 ...

  5. Spark解决 System memory 259522560 must be at least 471859200

    本地运行spark出现问题: 22/04/26 20:11:42 ERROR SparkContext: Error initializing SparkContext. java.lang.Ille ...

  6. SparkContext: Error initializing SparkContext解决方法

    SparkContext: Error initializing SparkContext解决方法 Spark在配置高可用集群中,出现报错 ERROR SparkContext: Error init ...

  7. Spark本地测试异常之 System memory 259522560 must be at least 471859200.

    解决Spark本地测试异常之 System memory 259522560 must be at least 471859200 一.异常如下 二.抛出异常原因 三.解决办法 一.异常如下 java ...

  8. 【Spark】java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200.

    报错 java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200. Please in ...

  9. System memory 249364480 must be at least 471859200

    我是在eclipse run遇到这个问题的,所以解决办法是来到这里加上: 表示运行的时候虚拟空间最小为128,最大为512 在linux上运行jar 如果用控制的虚拟机内存,句子要这么写: java ...

最新文章

  1. 谷歌像素递归超分辨率研究:怎么消灭低分辨率图像马赛克?
  2. (android硬件应用实战)摄像头拍照实现和总结
  3. Android复习03(Get请求访问网络[详解]、获取文章列表)
  4. boost::histogram::indexed用法的测试程序
  5. linux搜索指定文件夹里文件是否存在,Linux文件操作之文件查询与搜索命令详解...
  6. 在MVC项目中使用Ninject
  7. 【C/C 】浅谈C/C 中函数指针与回调函数
  8. MyEclipse 10, 2013, 2014 破解、注册码
  9. 如何用鲲鹏弹性云服务器部署《Hadoop伪分布式》
  10. 充分发挥计算机在教学中的辅助作,充分发挥计算机在教学中的辅助作用
  11. [ Typescript 手册] JavaScript `Date` 在 Typescript 中的接口
  12. ArcEngine9.1结合VS2005开发技巧2则
  13. C++通信录管理系统
  14. Splunk lookup 实践
  15. 二阶偏导相等的一个充分条件
  16. 文献综述在哪儿能找到?
  17. 十大畅销经济学类书籍
  18. 天池大赛——天猫用户复购预测
  19. ZOJ 3960 What Kind of Friends Are You?(读题+思维)
  20. PostgreSQL修炼之道之PostgreSQL的核心架构(十一)

热门文章

  1. 电商项目——商品服务-API-属性分组——第十一章——上篇
  2. Oracle:一个IT“融合”巨头的诞生
  3. JAVA多线程实现断点续传
  4. 我国芯片的未来发展前景如何呢
  5. 开发模型的理解:瀑布模型/增量式/迭代/敏捷开发——笔记
  6. 幽灵行动4 虚拟服务器,《幽灵行动4:未来战士》游戏进不去解决方法
  7. 网络经济与企业管理【四】之企业组织管理
  8. ajax.readyState与ajax.status一览
  9. 骚操作 !深信服公司被爆监控员工
  10. 【笔记】Encoder-Decoder模型