Spark开发环境配置及流程(Intellij IDEA)
- 格式:doc
- 大小:739.00 KB
- 文档页数:7
大数据开发手册[电子邮件地址]目录大数据开发手册 (2)1、开发 (2)2、打包 (7)3、运行 (10)大数据开发手册1、开发1.1打开IntelliJ IDEA,单击Create New Project1.2单击Java,选择jdk1.7,然后选择Scala-sdk插件,单击Next1.3在弹出的窗口中填写项目名称,例如Demo,单击Finish1.4单击File->Project Structrue1.5在弹出的窗口中单击Libraries,单击+1.6单击+后在弹出的窗口中引入spark开发包。
例如:spark-1.6.0-bin-hadoop2.6.0->lib ->spark-assembly-1.6.0-hadoop2.6.0.jar至此开发环境基本配置完毕,可能用到的jar包都已引入。
1.7新建Scala文件,右击src ->New->Scala.Class1.8填写Scala文件的名称及Kind,单击OK在相应的Scala文件中编写代码,如下所示1.9引入Oracle的驱动包ojdbc14.jar,如下图所示2、打包2.1单击File->Project Structure->Artifacts->+ 在弹出的窗口中选择Main Class。
如下图所示2.2单击OK之后选择Build on make->Apply->OK2.3单击Build->Build Artifacts…->Build,如下图所示打包完成之后会在,如下图所示的目录下产生一个对应的jar包2.4右击jar包->Show in Explorer3、运行3.1将Demo.jar提交到指定的目录下,例如/data/Demo.jar3.2将ojdbc14.jar复制到spark->lib下,并修改spark/conf/目录下的spark-env.sh,增加如下内容:export SPARK_CLASSPATH=data/spark/spark-1.6.0/lib/ojdbc.jar重新启动spark3.3打开Linux命令终端输入如下内容:spark-submit --class testSpark --master spark://172.20.184.23:7077 /data/Demo.jar注:spark://172.20.184.23:7077是http://172.20.184.23:8080/所展示的Spark Master Url,如下所示。
idea下spark开发环境搭建及常见问题1.准备⼯作1.1 安装jdk1.81.2 安装scala2.11.81.3 安装idea版本按⾃⼰需要选择即可,以上过程不在本⽂中详细讲解,有需要在其他⽂章中分享。
1.4 注意事项1. jdk和scala都需要配置JAVA_HOME和SCALA_HOME的环境变量。
2. 在idea下需要下载scala插件3. 创建项⽬时通过maven创建,需要下载scala sdk4. 下载maven包,解压缩后配置maven的settings.xml⽬录,同时本地仓库位置5. maven项⽬创建完成后,在项⽬名称上右键点击Add Framework Support,然后添加scala⽀持2.spark环境配置2.1 在pom.xml添加spark包主要是spark-core,spark-sql,spark-mllib,spark-hive等,根据项⽬需要添加依赖即可。
使⽤maven下的加载按钮加载⼀下导⼊的依赖,会有⾃动下载jar包的过程。
<dependencies><!-- https:///artifact/org.apache.spark/spark-core --><dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.11</artifactId><version>2.3.0</version></dependency><!-- https:///artifact/org.apache.spark/spark-sql --><dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.11</artifactId><version>2.4.8</version><scope>provided</scope></dependency><!-- https:///artifact/org.apache.spark/spark-mllib --><dependency><groupId>org.apache.spark</groupId><artifactId>spark-mllib_2.11</artifactId><version>2.4.8</version><!--<scope>provided</scope>--></dependency><!-- https:///artifact/org.apache.spark/spark-hive --><dependency><groupId>org.apache.spark</groupId><artifactId>spark-hive_2.11</artifactId><version>2.4.8</version><!--<scope>provided</scope>--></dependency></dependencies>2.2 创建scala object,添加配置启动spark环境import org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.sql.SparkSessionobject readcsv_demo {def main(args: Array[String]): Unit = {System.setProperty("hadoop.home.dir", "D:\\Regent Wan\\install\\hadoop-common-2.2.0-bin-master")lazy val cfg: SparkConf =new SparkConf().setAppName("local_demo").setMaster("local[*]")lazy val spark: SparkSession =SparkSession.builder().config(cfg).enableHiveSupport().getOrCreate()lazy val sc: SparkContext =spark.sparkContext}}2.3 常见问题2.3.1 Exception in thread "main" ng.NoClassDefFoundError: org/apache/spark/sql/SparkSession$ Exception in thread "main" ng.NoClassDefFoundError: org/apache/spark/sql/SparkSession$Caused by: ng.ClassNotFoundException: org.apache.spark.sql.SparkSession$原因:在导⼊spark模块时在maven复制了如下code,⽽其中默认添加了<scope>provided</scope><dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.11</artifactId><version>2.4.8</version><scope>provided</scope></dependency>解决办法:注释<scope>provided</scope>,再重新加载即可。
大数据处理平台Spark的安装和配置方法大数据处理平台Spark是一种快速且可扩展的数据处理框架,具有分布式计算、高速数据处理和灵活性等优势。
为了使用Spark进行大规模数据处理和分析,我们首先需要正确安装和配置Spark。
本文将介绍Spark的安装和配置方法。
一、环境准备在开始安装Spark之前,需要确保我们的系统符合以下要求:1. Java环境:Spark是基于Java开发的,因此需要先安装Java环境。
建议使用Java 8版本。
2. 内存要求:Spark需要一定的内存资源来运行,具体要求取决于你的数据规模和运行需求。
一般情况下,建议至少有8GB的内存。
二、下载Spark1. 打开Spark官方网站(不提供链接,请自行搜索)并选择合适的Spark版本下载。
通常情况下,你应该选择最新的稳定版。
2. 下载完成后,将Spark解压到指定的目录。
三、配置Spark1. 打开Spark的安装目录,找到conf文件夹,在该文件夹中有一份名为spark-defaults.conf.template的示例配置文件。
我们需要将其复制并重命名为spark-defaults.conf,然后修改该文件以配置Spark。
2. 打开spark-defaults.conf文件,你会看到一些示例配置项。
按照需求修改或添加以下配置项:- spark.master:指定Spark的主节点地址,如local表示使用本地模式,提交到集群时需修改为集群地址。
- spark.executor.memory:指定每个Spark执行器的内存大小,默认为1g。
- spark.driver.memory:指定Spark驱动程序的内存大小,默认为1g。
3. 如果需要配置其他参数,可以参考Spark官方文档中的配置指南(不提供链接,请自行搜索)。
4. 保存并退出spark-defaults.conf文件。
四、启动Spark1. 打开命令行终端,进入Spark的安装目录。
spark学习10(win下利⽤IntellijIDEA搭建spark开发环境)第⼀步:启动IntelliJ IDEA,选择Create New Project,然后选择Scala,点击下⼀步,输⼊项⽬名称wujiadong.spark继续下⼀步File——Project Structure——Libraries——点+号——点java——选择下载好的spark-assembly-1.5.1-hadoop2.6.0.jar包——点ok第三步:创建WordCount类编写代码第四步:导出jar包依次选择“File”–> “Project Structure” –> “Artifact”,选择“+”–> “Jar” –> “From Modules with dependencies”,选择main函数,并在弹出框中选择输出jar位置,并选择“OK”。
最后依次选择“Build”–> “Build Artifact”编译⽣成jar包。
具体如下图所⽰。
第五步:spark-submit提交运⾏hadoop@master:~/wujiadong$ spark-submit --class wujiadong.spark.WordCount --executor-memory 500m --total-executor-cores 2 /home/hadoop/wujiadong/wujiadong.spark.jar hdfs://master:9000/wordcount.txt 17/02/02 20:27:34 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable17/02/02 20:27:37 INFO Slf4jLogger: Slf4jLogger started17/02/02 20:27:37 INFO Remoting: Starting remoting17/02/02 20:27:37 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://sparkDriver@192.168.1.131:52310]17/02/02 20:27:41 WARN MetricsSystem: Using default name DAGScheduler for source because spark.app.id is not set.17/02/02 20:27:44 INFO FileInputFormat: Total input paths to process : 117/02/02 20:27:51 INFO deprecation: mapred.tip.id is deprecated. Instead, use mapreduce.task.id17/02/02 20:27:51 INFO deprecation: mapred.task.id is deprecated. Instead, use mapreduce.task.attempt.id17/02/02 20:27:51 INFO deprecation: mapred.task.is.map is deprecated. Instead, use mapreduce.task.ismap17/02/02 20:27:51 INFO deprecation: mapred.task.partition is deprecated. Instead, use mapreduce.task.partition17/02/02 20:27:51 INFO deprecation: mapred.job.id is deprecated. Instead, use mapreduce.job.id(spark,1)(wujiadong,1)(hadoop,1)(python,1)(hello,4)17/02/02 20:27:52 INFO RemoteActorRefProvider$RemotingTerminator: Shutting down remote daemon.17/02/02 20:27:52 INFO RemoteActorRefProvider$RemotingTerminator: Remote daemon shut down; proceeding with flushing remote transports.17/02/02 20:27:52 INFO RemoteActorRefProvider$RemotingTerminator: Remoting shut down.。
Spark开发环境配置及流程之前已经将集群配置完成(详见Hadoop2.6.0搭建过程.doc和Spark1.2搭建过程.doc文档),开发环境中的JDK,Scala部分就不介绍了,下面直接介绍我们用的开发工具Interlij IDEA。
为什么选择Intellij IDEA?因为它更好的支持Scala 项目,目前Spark开发团队使用它作为开发环境。
1.下载直接到官方网站下载页面下载(/idea/download/)。
有收费的完整版,也有免费的基本版本,收费的网上也有破解方案。
2.解压解压到/usr/local,这是因为之前的Scala和Spark都放这里,也可以根据自己喜好。
[hadoop@lenovo0 Downloads]$ sudo tar -vxzf ideaIC-14.1.tar.gz -C /usr/local/ 改个名字,然后授权给hadoop用户。
[hadoop@lenovo0 local]$ cd /usr/local/[hadoop@lenovo0 local]$ sudo mv ideaIC-14.1 ideaIC14[hadoop@lenovo0 local]$ sudo chown -R hadoop:hadoop ideaIC14/3.启动在解压的文件夹下有个文件介绍怎么打开应用,还有一些设置信息,大家可以看一看:通过cat命令可以查看,我只截了一些关键的:根据提示,我们直接进入到文件夹bin目录下执行./idea.sh即可启动:之后便可以根据UI提示界面创建快捷方式,方便下次启动。
4.在IDEA中安装Scala插件在IDEA的设置里面,直接搜索“plugins”,在右边的展开中搜索“scala”,点击相应的按钮添加插件即可:5.配置Spark应用开发环境这里以SparkPi程序为例子。
5.1创建Scala Project,设置名称,JDK和Scala路径:5.2选择菜单中的“File”→“project structure”→“Libraries”,然后点击“+”导入spark-assembly-1.2.0-hadoop2.4.0.jar。
spark本地开发环境搭建前提1.CDH集群为6.0.1(hadoop对应版本为3.0.0)安装scala1.配置环境变量SCALA_HOME和path安装maven安装比较简单,过程略。
安装winutils(windows才需要安装)参考idea安装scala插件打开settings安装scala插件安装完成后重启ideaidea配置打开Project Structure添加scala Libraries选择scala目录idea 创建项目创建maven项目点击“Next”输入项目信息点击“Next”完成点击“Finish”即可项目创建好以后,暂时删除test目录,把java文件夹修改为scala(这一步不是必须,看个人爱好)1.创建test.txt文件,写入几行数据,上传到hdfs中2.把hadoop集群的配置文件core-site.xml和hdfs-site.xml复制到项目的resources目录下经过测试,linux下运行idea,没有这两个文件也能连上hadoop集群3.创建scala代码package hdfs import org.apache.spark.sql.SparkSession object HdfsTest { def mai n(args: Array[String]): Unit = { // 如果在windows本地跑,需要从widnows访问HDFS,需要指定一个合法的身份 // System.setProperty("HADOOP_USER_NAM E", "hdfs") val spark = SparkSession.builder( .appName("hdfs-test") .master ("local") // 设置参数 .config("e.datanode.hostname", "false") .g etOrCreate(; // spark.sparkContext.setLogLevel("DEBUG") //支持通配符路径,支持压缩文件读取 val path = "hdfs://10.121.138.145:8020/test.txt" val rd d = spark.read.textFile(path) //统计数量 println("count = "+rdd.count() //停止spark spark.stop( } }重点说明:1.如果在windows下运行,请添加System.setProperty("HADOOP_USER_NAME", "hdfs")代码,否则会提示Permission Denied2.CDH默认e.datanode.hostname为true,意思为使用hostname连接hdfs,如果我们不修改本机的host文件,本地是无法连接datanode机器。
Spark开发环境准备1. 准备环境准备环境包括:(1)JDK安装包(exe、zip):/technetwork/java/javase/downloads/index-jsp-138363.html (2)Scala安装包(msi、zip):/download/(3)IDEA安装包:https:///idea/(6)Spark安装包:https:///downloads.html安装JDK配置环境变量(1.7以上版本)JA V A_HOME = C:\Program Files\Java\jdk1.7.0_71CLASSPATH =.;%JA V A_HOME%\lib;PATH +=;%JA V A_HOME%\bin;%JA V A_HOME%\jre\bin;进入cmd界面测试jdk是否安装成功。
安装Scala安装完毕配置环境变量,增加PA TH变量:SCALA_HOME = C:\Program Files\scala-2.11.8PATH += %SCALA_HOME%\bin;进入cmd界面测试scala是否安装成功。
spark安装1.解压压缩文件至指定目录spark-1.6.2-bin-hadoop2.6.tgz2.配置环境变量HADOOP_HOME = D:\spark-1.6.2-bin-hadoop2.6在path变量中增加;%HADOOP_HOME%\bin3.添加winutils.exe(注意32位和64位不兼容)将winutils.exe添加至目录bin中4.验证CMD输入:spark-shell退出输入":quit"2 构建IntelliJ IDEA开发环境官方提供了Ultimate版和Community 版可供选择,主要区别:1)Ultimate版功能齐全的IDE,支持Web和Enterprise,免费试用30天,由官方提供一个专有的开发工具集和架构支持。
1,环境window7jdk1.8.0_91scala-2.11.8.msispark-assembly-1.6.1-hadoop2.6.0.jarInterllij IDEA 2016.1.3(可以在scala官网上链接下载 /download/)2,安装 jdk 及 scala,并配置环境变量。
下载JDK:到Java官网(/technetwork/java/javase/downloads/index.html)建议安装JDK6以上版本。
l 配置JAVA_HOME环境变量为JDK的安装目录,如下图所示:l 配置CLASSPATH环境变量为“.;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar”,如下图所示:l 在Path环境变量最后追加配置“%JAVA_HOME%/bin”,如下图所示:验证JDK是否安装成功:打开控制台,输入“java -version”命令,如果出现Java版本及版权相关信息,说明JDK安装成功。
如下图所示:scala安装,验证scala安装是否成功在控制台输入“scala -version",如果出现scala版本及版权信息,说明scala安装成功。
3,Intellij IDEA 2016.1.3安装及配置点击Scala的Install安装点击“Create New Project”进入主页面,在菜单栏File->New->Project...,选择Scala点击next进入如下界面,输入工程名,并选择相应的SDK,选择jdk及scala安装的所在目录即可。
工程建好,选择菜单File/Project Structure/Libraries/ 导入相应的Spark及Scala的jar包。
4,在Interllij IDEA下开发Spark应用程序。
在创建的工程src选项的文件夹下再创建两个文件夹,文件夹名为main和scala。
IntelliJIDEAWindows下Spark开发环境部署0x01 环境说明1.1 本地OS: windows 10JDK: jdk1.8.0_121Scala: scala-2.11.11IDE: IntelliJ IDEA ULTIMATE 2017.2.11.2 服务器OS: CentOS_6.5_x64JDK: jdk1.8.111Hadoop: hadoop-2.6.5Spark: spark-1.6.3-bin-hadoop2.6Scala: scala-2.11.110x02 windows端配置2.1 安装JDK配置环境变量JAVA_HOMECLASSPATHPath2.2 配置hosts⽂件位置C:\Windows\System32\drivers\etc新增如下内容(和集群的hosts⽂件内容⼀样,根据⾃⼰集群的实际情况修改)192.168.1.10 master192.168.1.11 slave1192.168.1.12 slave22.3 安装IntelliJ IDEA注意插件安装Maven2.4 IDEA中安装scala插件0x03 服务器端配置3.1 安装JDK0x04 测试4.1 新建maven项⽬4.2 添加依赖包File -> Project Structure -> Libraries添加spark-assembly-1.6.3-hadoop2.6.0.jar(位置在服务器端spark/lib/下) 4.3 新建ConnectionUtil类在src\main\java⽬录下新建java类ConnectionUtilimport org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaSparkContext;public class ConnectionUtil {public static final String master = "spark://master:7077";public static void main(String[] args) {SparkConf sparkConf = new SparkConf().setAppName("demo").setMaster(master);JavaSparkContext javaSparkContext = new JavaSparkContext(sparkConf);System.out.println(javaSparkContext);javaSparkContext.stop();}}4.4 编译运⾏如果出现上图结果则证明,运⾏正确。
Spark开发环境配置及流程
之前已经将集群配置完成(详见Hadoop2.6.0搭建过程.doc和Spark1.2搭建过程.doc文档),开发环境中的JDK,Scala部分就不介绍了,下面直接介绍我们用的开发工具Interlij IDEA。
为什么选择Intellij IDEA?因为它更好的支持Scala 项目,目前Spark开发团队使用它作为开发环境。
1.下载
直接到官方网站下载页面下载(/idea/download/)。
有收费的完整版,也有免费的基本版本,收费的网上也有破解方案。
2.解压
解压到/usr/local,这是因为之前的Scala和Spark都放这里,也可以根据自己喜好。
[hadoop@lenovo0 Downloads]$ sudo tar -vxzf ideaIC-14.1.tar.gz -C /usr/local/ 改个名字,然后授权给hadoop用户。
[hadoop@lenovo0 local]$ cd /usr/local/
[hadoop@lenovo0 local]$ sudo mv ideaIC-14.1 ideaIC14
[hadoop@lenovo0 local]$ sudo chown -R hadoop:hadoop ideaIC14/
3.启动
在解压的文件夹下有个文件介绍怎么打开应用,还有一些设置信息,大家可以看一看:
通过cat命令可以查看,我只截了一些关键的:
根据提示,我们直接进入到文件夹bin目录下执行./idea.sh即可启动:
之后便可以根据UI提示界面创建快捷方式,方便下次启动。
4.在IDEA中安装Scala插件
在IDEA的设置里面,直接搜索“plugins”,在右边的展开中搜索“scala”,点击相应的按钮添加插件即可:
5.配置Spark应用开发环境
这里以SparkPi程序为例子。
5.1创建Scala Project,设置名称,JDK和Scala路径:
5.2选择菜单中的“File”→“project structure”→“Libraries”,然后点击“+”导入spark-assembly-1.2.0-hadoop2.4.0.jar。
这个jar包包含Spark的所有依赖包和Spark源码。
一开始我们下载的Spark版本是预编译版本的(见《Spark on yarn搭建过程》),所以这个包可以在解压的Spark目录下lib目录里找到,假如说下载的没有编译的,需要通过sbt/sbt assembly命令打包。
同样的,假如IDEA不能识别Scala库,也是用这种方法,路径是Scala的安装路
径。
5.3现在可以开发Scala程序。
右键新建一个scala类,就可以写程序了。
我们直接复制
SparkPi的代码,这个代码在Spark文件example目录下可以找到源码:
口,第二句调用addJar方法将我们压缩好的jar包提交到Spark集群(压缩方法在后面介绍)。
6.运行Spark程序
像上面我们编写完代码,有两种方法运行我们的程序,一个是IDEA中的run方法,
另一个是将我们的程序打包成jar包,在Spark集群上用命令行执行。
在集群上运行Spark应用Jar包:
选择“File”→“Project Structure”→“Artifact”,单机“+”,选择“JAR”→“From Modules with dependencies”,然后选择main函数和Jar包的输出路径:
在主菜单中选择“Build”→“Build Artifact”编译生成Jar包。
最后到jar包的目录下执行java -jar SparkTest.jar即可。
Run方法:
在IDEA菜单中选择“Run”→“Edit Configurations”出现如下界面:
点左上角的“+”,选择“Application”,在右边的拓展中改一下name,选择Main 函数:
然后点击右上角的绿色运行箭头即可:
以上介绍了整个Spark应用开发流程以及如何编译调试程序。