1. Spark Driver cannot bind on port0, SparkContext initialized failed

如果是通过spark-submit等命令行提交的任务,在spark的conf目录下,修改spark-env.sh(如果没有此文件,从spark-env-template.sh拷贝一份),添加 export SPARK_LOCAL_IP=127.0.0.1即可

如果是通过Idea等IDE来提交任务,调试,运行的时候,修改/etc/hosts, 添加或修改机器名对应的ip地址,比如 127.0.0.1  hostname

 2. 连接mesos的时候出现  No credentials provided. Attempting to register without authentication 一直卡住不动

检查mesos的ip是否正确,检查本机的hostname对应的ip地址是否正确,不能是127.0.0.1,client与mesos需要能互相访问,如果有一方不能访问另一方,就会卡住

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

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

  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()的定义和解释是

  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和spark.testing.reservedMemory

通过尝试,发现可以有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常见错误汇总的更多相关文章

  1. 李洪强iOS开发之OC常见错误汇总

    // //  main.m //  16 - 常见错误汇总 // //  Created by vic fan on 16/7/13. //  Copyright © 2016年 李洪强. All r ...

  2. PHP常见错误汇总

    日常开发和调试的时候,经常会遇到一些错误,光怪陆离的不知所以,所以,特此将错误汇总一下,借鉴!!! 1. 原因分析:  一般可能是该文件出现了问题,检查一下代码和格式,是否出现开始的地方出现了空格,或 ...

  3. eclipse远程debug服务器上的项目(Tomcat),打开、关闭及常见错误汇总

    我们工作中,有时候测试/生产环境,出现的结果会与我们预计的不一样,只看代码又看不出去问题所在,这个时候就需要远程debug下服务器上的项目. 注意:(1)需要debug的代码,本机代码需与服务器上一致 ...

  4. hadoop常见错误汇总及解决办法一

    我们经常会遇到一些问题,而且可能会重复性遇到,这些方案可以收藏为以后备用.我们经常遇到如下问题:1.两次以上格式化造成NameNode 和 DataNode namespaceID 不一致,有几种解决 ...

  5. Spark相关错误汇总

    前面介绍了Spark开发环境的搭建,下面将在实际开发过程中遇到的一些问题汇总一下: 1.Exception in thread "main" com.typesafe.config ...

  6. spark常见错误【持续更新】

    错误1.错误: 找不到或无法加载主类 idea.scala代码 idea 导入的scala工程,编写代码后报该错误. 原因:\src\main\scala 包路径下没有将scala这个包设置成Sour ...

  7. Xcode常见错误汇总

    1.error: macro names must be identifiers YourProject_prefix.pch 原因: 因为你弄脏了预处理器宏,在它处于<Multiple Val ...

  8. 服务器是R710常见错误汇总:

    报错: E1422 CPU 1 machine check error . power cycle AC 解决方案: 系统 BIOS 已报告机器检查错误.请断开系统的交流电源 10 秒,然后重新启动系 ...

  9. 分布式进阶(十一) Docker 常见错误汇总

    NO.1 以上添加网桥的命令在Ubuntu14.04中是不可行的.正确的命令如下: brctl addbr br0 ifconfig br0 192.168.1.188 netmask 255.255 ...

随机推荐

  1. 电脑升级完Xcode8后 注释快捷键无效的问题

    1.部分电脑升级完Xcode8 后直接重启电脑就可以使用Command +/ 快捷键注释代码, 2.如果上述方法没有效果,可以在终端输入sudo /usr/libexec/xpccachectl  然 ...

  2. 简单的NHibernate学习笔记

    NHibernate是.NET平台下的ORM框架,与ADO.NET一样实现项目中数据库与项目系统的交互. .首先要用NHibernate框架就要有第三方的dll库来作为支持,附上百度云下载地址:(链接 ...

  3. dataTable 禁止显示信息

    $("#id").DataTable({ "info": false, // 禁止显示信息 });

  4. c++sort函数的用法浅析

    (一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于 ...

  5. 关于LookAt

    Transform.LookAt 注视 function LookAt (target : Transform, worldUp : Vector3 = Vector3.up) : void 旋转物体 ...

  6. StringBuffer与StringBuilder原理与区别

    其实只要找下Google大神就有答案了:StringBuffer 与 StringBuilder 中的方法和功能完全是等价的,只是StringBuffer 中的方法大都采用了 synchronized ...

  7. 2D UI和3D UI的工作原理

    2D UI的工作原理 UI控件的位置在UI Root 的红框(视窗)上,也就是UI控件的z轴,相机的z轴,UI Root的z轴都是0,因为2D UI都是纯粹的2D图片按层次显示,不会不出现三维立体效果 ...

  8. 3224: Tyvj 1728 普通平衡树

    Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相 ...

  9. C++学习笔记——一只P转C的OIer的学习历程

    2015-11-29 第一天接触c++(也不能这不说,看c++的程序也看了不少).重新找回了当时学pascal的感觉,从Hello World 开始写起,感觉自己的智商降低了,期间犯了各种弱智到不能再 ...

  10. selenium各种场景下的启动Firefox

    开始学习selenium时为了启动Firefox可谓费尽周折,在大神的帮助下才堪堪搞定,走出了selenium的第一步:jdk1.8 + selenium_2.46 + Firefox国际版40.0. ...