使用IntelliJ IDEA配置Spark应用开发环境及源码阅读环境

在本地搭建好Spark 1.6.0后,除了使用官方文档中的sbt命令打包,spark-submit提交程序外,我们可以使用IntelliJ IDEA这个IDE在本地进行开发调试,之后再将作业提交到集群生产环境中运行,使用IDE可以提升我们的开发效率。转载请注明博客原文地址:http://blog.tomgou.xyz/shi-yong-intellij-ideapei-zhi-sparkying-yong-kai-fa-huan-jing-ji-yuan-ma-yue-du-huan-jing.html

1. 安装IntelliJ IDEA

我的系统环境(Ubuntu 14.04.4 LTS),其他配置见:Spark 1.6.2 单机版安装配置。下载最新版本的IntelliJ IDEA,官网地址:https://www.jetbrains.com/idea/download/ 。 最新版本的IntelliJ IDEA支持新建SBT工程,安装scala插件。

安装步骤:

解压 idea-15.0.4.tar.gz

tar xfz idea-15.0.4.tar.gz

在bin目录下运行 idea.sh文件
记得最初配置时安装插件,在IntelliJ IDEA的“Configure”菜单中,选择“Plugins”,安装“Scala”插件。
补充:
(1).出现下面类错误:

ERROR: cannot start IntelliJ IDEA. No JDK found to run IDEA.。。。
解决:
若确定你的系统已经安装了JAVA 并设置好了环境变量,那么在/etc/profile文件最后加一行

export IDEA_JDK= 此处为你的系统中$JAVA_HOME的值。

(2)最新版的IntelliJ IDEA2016只支持jdk8及以上,否则报错。
这里写图片描述
解决:换成jdk1.8即可。

2. 以本地local模式运行Spark程序

1)创建“New Project”,选择“Scala”。“Project SDK”选择JDK目录,“Scala SDK”选择Scala目录。
这里写图片描述
2)选择菜单中的“File” ->“Project Structure” ->“libraries” ->+“java”,导入Spark安装目录/home/tom/spark-1.6.0/lib下的“spark-assembly-1.6.0-hadoop2.6.0.jar”。

3)运行Scala示例程序SparkPi: Spark安装目录的examples目录下,可以找到Scala编写的示例程序SparkPi.scala,该程序计算Pi值并输出。 在Project的main目录下新建SparkPitest.scala,复制Spark示例程序代码。
这里写图片描述
选择菜单中的“Run” ->“Edit Configurations”,修改“Main class”和“VM options”。
这里写图片描述
运行结果:
这里写图片描述
注意: 在我最初运行Spark的测试程序SparkPi时,点击运行,出现了如下错误: Exception in thread “main” org.apache.spark.SparkException: A master URL must be set in your configuration 从提示中可以看出找不到程序运行的master,此时需要配置环境变量。 搜索引擎查询错误后,了解到传递给spark的master url可以有如下几种,具体可以查看Spark官方文档:

local 本地单线程
local[*] 本地多线程(指定所有可用内核)
spark://HOST:PORT 连接到指定的 Spark standalone cluster master,需要指定端口。
mesos://HOST:PORT 连接到指定的 Mesos 集群,需要指定端口。
yarn-client客户端模式 连接到 YARN集群。需要配置 HADOOP_CONF_DIR。
yarn-cluster集群模式 连接到 YARN 集群。需要配置HADOOP_CONF_DIR。

在VM options中输入“-Dspark.master=local”,指示本程序本地单线程运行。
补充:
若出现此类错误:java.lang.IllegalArgumentException: System memory 259522560 must be at least 4.718592E8. Please use a larger heap size.
这里写图片描述
解决:
idea的设置路径在:Run -Edit Configurations-Application选择对应的程序,设置VM options,如下:

-Xms256m-Xmx1024m

此处截图为网上的,就这么个意思
这里写图片描述
3. 生成jar包提交到集群

1)和本地local模式运行Spark相同,我们建立起project。

2)选择菜单中的“File” ->“Project Structure” ->“Artifact” ->“jar” ->“From Modules with dependencies”,之后选择Main Class和输出jar的Directory。
这里写图片描述
这里写图片描述
3)在主菜单选择“Build” ->“Build Artifact”,编译生成jar包。 4)将jar包使用spark-submit提交:

$SPARK_HOME/bin/spark-submit --class "SimpleApp" --master local[4] simple.jar 

4. 配置Spark源码阅读环境

克隆Spark源码:

$ git clone https://github.com/apache/spark

然后在IntelliJ IDEA中即可通过“Import Project”,选择sbt项目,选择“Use auto-import”,即可生成IntelliJ项目文件。
这里写图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值