天天看点

Scala-IDE Eclipse(Windows)中开发Spark应用程序,在Ubuntu Spark集群上运行

在进行实际的spark应用程序开发时,常常会利用window环境进行程序开发,开发测试好之后提交到spark集群中利用bin/spark-submit脚本进行程序的发布运行,本教程教将一步一步地教大家如何进行该操作。本教程主要内容如下:

window开发环境说明

spark集群运行环境说明

scala ide for eclipse中spark程序开发

利用spark-submit脚本提交到spark集群当中运行

(1)scala-ide eclipse ,版本号见下图

Scala-IDE Eclipse(Windows)中开发Spark应用程序,在Ubuntu Spark集群上运行

(2) java版本号 jdk 1.7

(3) scala 版本号 2.10.4

(1)操作系统:ubuntu 10.04

(2) java与scala版本号与windows上一致

(3) hadoop 版本 hadoop 2.2.0

(4) spark 版本 spark 1.1.0

配置如下:

ip地址

主机名

运行进程

192.168.1.104

cluster04

quorumpeermain(zookeeper进程) master(spark master进程) datanode journalnode resourcemanager(yanr资源管理器) nodemanager worker

192.168.1.105

cluster05

namenode quorumpeermain(zookeeper进程) worker(spark worker进程) nodemanager datanode dfszkfailovercontroller(用于实现 namenode ha) journalnode

192.168.1.106

cluster06

namenode quorumpeermain(zookeeper进程) worker(spark worker进程) nodemanager datanode dfszkfailovercontroller(用于实现 namenode ha) journalnode

(1) 在scala ide for eclipse新建一个scala project,全名为:sparkwordcount

(2) 将spark-assembly-1.1.0-hadoop2.2.0.jar导入

(3)工程结构如下图

Scala-IDE Eclipse(Windows)中开发Spark应用程序,在Ubuntu Spark集群上运行

(4) 将userpurchasehistory.csv上传到hdfs根目录:hadoop fs -put /data/userpurchasehistory.csv /

Scala-IDE Eclipse(Windows)中开发Spark应用程序,在Ubuntu Spark集群上运行

userpurchasehistory.csv内容如下:

Scala-IDE Eclipse(Windows)中开发Spark应用程序,在Ubuntu Spark集群上运行

第一列表示客户姓名,第二列表示购买物品,第三列表示物品价格

(4)创建包cn.ml,并新建scala object,全名为purchaseproduct,代码如下:

(5)将工程打包成jar文件:sparkwordcount.jar

(1)将打包好的sparkwordcount.jar文件上传到spark master所在的机器cluster04的根目录上,然后运行下列脚本:

/spark-1.1.0/bin# ./spark-submit –master spark://itcast04:7077 –class cn.ml.purchaseproduct /sparkwordcount.jar

–master 用于指定集群的master

–class 用于指定待运行的主类

(2) 运行结果图

Scala-IDE Eclipse(Windows)中开发Spark应用程序,在Ubuntu Spark集群上运行

继续阅读