Spark学习之第一个程序打包、提交任务到集群

1、免秘钥登录配置:

ssh-keygen
cd .ssh
touch authorized_keys
cat id_rsa.pub > authorized_keys
chmod 600 authorized_keys

2、环境工具

2.1环境

系统 urbuntu jdk 1.7.0_79

scala 2.10.4

hadoop 2.6.0

spark 1.6.2

2.2打包工具

IDEA + sbt1.2打包工具

3.打包

3.1安装插件

需要预先安装scala插件,点击File ->Setting ->Plugins ->输入框输入scala->install
安装完成需要重启IDE

3.2创建项目

File -> New Project ->Scala -> SBT 选择相应版本 ->finish

3.3编写代码

build.sbt 添加spark相关依赖

name := "demoPro"

version := "1.0"

scalaVersion := "2.10.4"

libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.6.2"

创建WordCount.scala,编写如下代码

import org.apache.spark.{SparkContext, SparkConf}

/**
 * Created by Administrator on 2018/2/20.
 */
object WordCount {

  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("wordcount")
    val sc = new SparkContext(conf)
    val input = sc.textFile("/home/dell/helloSpark.txt")
    val lines = input.flatMap(line => (line.split(" ")))
    val count = lines.map(word => (word, 1)).reduceByKey { case (x, y) => x + y }
    val output=count.saveAsTextFile("/home/dell/helloSparkRes")
  }
}

3.4打包

File -> Project Structure -> Aritifacts -> 点击+号 ->jar -> 第二个 -> 指定Module和 MainClass -> JAR files from libraries 选择第二个 ->点击ok

主题栏点击Build -> Build Aritifacts - Build

在工程目下out目录中生成相应jar包即打包成功

4.提交任务

4.1启动hadoop

#进入sbin目录
cd $Hadoop_HOME/sbin
#启动hadoop集群
start-all.sh

4.2上传测试文件到hdfs

hadoop fs -put test.txt /test/test.txt

4.3上传程序jar包

是同filelize 或者sftp 或者 rz -y命令上传程序jar

4.4 提交任务

4.4.1启动Master

sudo ./start-master.sh
访问localhost:8080 获取spark://xxx:7077

4.4.2启动Worker

sudo ./bin/spark-class org.apache.spark.deploy.worker.Worker spark://dell:7077

4.4.3提交作业

sudo ./bin/spark-submit --master spark://dell:7077 --class WordCount /home/dell/demopro.ja

显示如图:

5、查看测试程序是否正确

5.1、查看 是否生成文件夹 进入文件查看程序是否正确

5.2、进入文件查看程序是否正确

原文地址:https://www.cnblogs.com/longronglang/p/8456354.html

时间: 2024-11-06 16:37:08

Spark学习之第一个程序打包、提交任务到集群的相关文章

Spark学习之路 (二)Spark2.3 HA集群的分布式安装[转]

下载Spark安装包 从官网下载 http://spark.apache.org/downloads.html 从微软的镜像站下载 http://mirrors.hust.edu.cn/apache/ 从清华的镜像站下载 https://mirrors.tuna.tsinghua.edu.cn/apache/ 安装基础 Java8安装成功 zookeeper安装成功 hadoop2.7.5 HA安装成功 Scala安装成功(不安装进程也可以启动) Spark安装过程 上传并解压缩 [[email

Spark学习之路 (二)Spark2.3 HA集群的分布式安装

一.下载Spark安装包 1.从官网下载 http://spark.apache.org/downloads.html 2.从微软的镜像站下载 http://mirrors.hust.edu.cn/apache/ 3.从清华的镜像站下载 https://mirrors.tuna.tsinghua.edu.cn/apache/ 二.安装基础 1.Java8安装成功 2.zookeeper安装成功 3.hadoop2.7.5 HA安装成功 4.Scala安装成功(不安装进程也可以启动) 三.Spar

Duilib学习二 第一个程序 Hello World

Duilib学习二  第一个程序 Hello World #pragma once #include <UIlib.h> using namespace DuiLib; #ifdef _DEBUG # ifdef _UNICODE # pragma comment(lib, "DuiLib_ud.lib") # else # pragma comment(lib, "DuiLib_d.lib") # endif #else # ifdef _UNICOD

Hibernate学习笔记:第一个程序的搭建

Hibernate学习笔记:第一个程序的搭建 前一段时间对Struts2这个框架有了一点点地了解,很高兴,自己开始学习Hibernate这个框架了.本篇博文将记录下第一个Hibernate程序的搭建过程.其实有时候个人觉得无论我们学习什么语言也好,还是学习什么框架也好,第一个HelloWorld程序真的相当重要,假如 我们在学习第一个HelloWorld程序都跑不出来,这完全影响着我们对新接触的东西的兴趣和动力,但是,往往第一个程序都会涉及到很多的配置,因此使得对于初学者要摸索一定的时间,对于我

在eclipse上提交任务到集群执行

win7下eclipse远程开发hadoop程序,分为两种: (1)运行[Run As] Java Application, 打包程序为jar,上传集群执行(这里不做解释) (2)运行[Run As] Run on Hadoop 重点来说说Run on Hadoop这种方式,搭建好eclipse远程开发环境,执行Run on Hadoop,程序成功了,心里窃喜,却发现是这个样子: 我明明设置job.setNumReduceTasks(6),最终本应该有6个reduce输出,怎么成了一个? 发现这

用python + hadoop streaming 编写分布式程序(二) -- 在集群上运行与监控

写在前面 前文:用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试 为了方便,这篇文章里的例子均为伪分布式运行,一般来说只要集群配置得当,在伪分布式下能够运行的程序,在真实集群上也不会有什么问题. 为了更好地模拟集群环境,我们可以在mapred-site.xml中增设reducer和mapper的最大数目(默认为2,实际可用数目大约是CPU核数-1). 假设你为Hadoop安装路径添加的环境变量叫$HADOOP_HOME(如果是$HAD

【大话存储II】学习笔记(15章),文件级集群系统

[大话存储II]学习笔记(15章),块级集群存储系统里面分析的主要是块集群系统,同样文件级存储也可以集群化. 因为NAS系统的前端网络是以太网,速度比较低,导致NAS主要用于一些非关键业务中,比如文件共享.但是一些特殊应用也需要多主机同时访问某个大文件,比如3D渲染集群等.如果我们使用块集群存储系统,则会存在一个问题,需要在应用程序上引入文件锁,而NAS的文件系统一般都自带有文件锁机制,所以还不如把NAS存储系统进行集群化. 在谈怎么样把NAS系统进行集群化之前,我们说说集群文件系统的架构.集群

java学习 之 第一个程序及认识

以前也看过一系列的java方面的程序,但是还没有正式敲过,今天正式学习并且正式敲出代码.在这里记录下来今日所得 写作工具:Notepad++ 在写作工具方面好多人建议用 记事本,但是我还是认为用 Notepad++ 这个编辑工具比较好. 这个相较于记事本来说,关键字可以编写,能够提高学习中的拼写错误提交效果: 再者,写好以后也要手动执行命令,更能够知道程序是怎么运行的. 第一个程序 public class HelloWorld { public static void main(String

汇编的学习历程 -第一个程序

一: 部分寄存器作用 CS:IP 任意时刻cpu将CS:IP指向的内容当做指令执行 DS 存放要访问数据的段地址 SS:SP 任意时刻,SS:SP指向栈顶元素 二:第一个程序 1:使用dos的edit编辑,现在看界面果然烂 2:源程序分为两部分 伪指令:由编译器所执行的指令 Ps:xxx segment ..... xxx ends//成对使用的指令,定义了一段 end//汇编程序结束的标记 asume//假设某一段寄存器和程序的某一个用segment.....ends定义的段相关李娜 汇编指令