主要包括以下三部分,本文为第三部分:

一. Scala环境准备 查看
二. Hadoop集群(伪分布模式)安装 查看
三. Spark集群(standalone模式)安装

Spark集群(standalone模式)安装

若使用spark对本地文件进行测试学习,可以不用安装上面的hadoop环境,若要结合hdfs使用spark,则可以参考上面的步骤搭建hadoop。

1. 下载安装包并解压(如:~/tools/spark-2.3.1-bin-hadoop2.7);

2. 启动服务
a.启动master

./sbin/start-master.sh

b.启动slaves
  可先登陆 http://localhost:8080/ ,获取“Spark URL”

./sbin/start-slave.sh <spark://xxxx-xxx:7077>

3. 开发测试程序
下面开发一个超级简单的rdd任务,逻辑(统计hdfs文件中包含单词form的行及行数,并将结果保存到hdfs)参考官网

a. 使用第一讲中准备好的Scala环境,创建一个scala maven project:mvn-rdd-test

b. 编写代码


package com.person.test

import org.apache.spark.{SparkConf,SparkContext}
object MvnRddTest {
def main(args: Array[String]): Unit = {
val dataPath = "hdfs://localhost:9000/usr/test/LICENSE.txt"
val resultPath = "hdfs://localhost:9000/usr/test/result"
val sc = new SparkContext(new SparkConf().setAppName("Mvn-Rdd-Test"))
try{
val accm = sc.longAccumulator("LineAccumulator")
val rdd = sc.textFile(dataPath,2)
val sparkDs = rdd.filter(
line => if(line.contains("form")){
accm.add(1)
true
} else false
)
sparkDs.saveAsTextFile(resultPath)
println(s"Lines that contains 'form' number is: ${accm.value}")
}catch {
case e:Exception => e.printStackTrace()
}finally {
sc.stop()
}
}
}

注:运行该示例需要上传一份文件到(二)的hdfs中,例中的LICENSE.txt来自hadoop安装包。

c. 打含依赖项的jar包
pom.xml配置:

    <groupId>com.person.test</groupId>
<artifactId>mvn-rdd-test</artifactId>
<version>1.0-SNAPSHOT</version> <dependencies>
<!-- spark core -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.3.1</version>
</dependency> <!-- hdfs tool -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.0</version>
</dependency> <dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-assembly</artifactId>
<version>0.8.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- build java -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.5.5</version>
<configuration>
<archive>
<manifest>
<mainClass>com.person.test.MvnRddTest</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- build scala -->
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.15.2</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

双击Maven Projects-->mvn-rdd-test-->Lifecycle-->package即可完成打包,“mvn-rdd-test-1.0-SNAPSHOT-jar-with-dependencies.jar”即为包含依赖项的包。
注:pom中引入的这两个build插件是必须的,分别用于build java和scala。

d. 测试:

./bin/spark-submit --master spark://xxxx-xxx:7077 --class com.person.test.MvnRddTest ~/Document/IdeaProjects/mvn-rdd-test/target/mvn-rdd-test-1.0-SNAPSHOT-jar-with-dependencies.jar

可以到hdfs上查看运行结果,终端会打印计数器的值。

注意:使用maven打包,不要使用Build Artifacts方式打包。

参考资料:官方文档

后续会陆续更新Spark RDD、Spark DataSet、Spark Streaming的用法;

-->Spark提高篇

Spark新手入门——3.Spark集群(standalone模式)安装的更多相关文章

  1. Spark新手入门——2.Hadoop集群(伪分布模式)安装

    主要包括以下三部分,本文为第二部分: 一. Scala环境准备 查看 二. Hadoop集群(伪分布模式)安装 三. Spark集群(standalone模式)安装 查看 Hadoop集群(伪分布模式 ...

  2. Spark集群-Standalone 模式

    Spark 集群相关 table td{ width: 15% } 来源于官方, 可以理解为是官方译文, 外加一点自己的理解. 版本是2.4.4 本篇文章涉及到: 集群概述 master, worke ...

  3. spark之scala程序开发(集群运行模式):单词出现次数统计

    准备工作: 将运行Scala-Eclipse的机器节点(CloudDeskTop)内存调整至4G,因为需要在该节点上跑本地(local)Spark程序,本地Spark程序会启动Worker进程耗用大量 ...

  4. Spark新手入门——1.Scala环境准备

    主要包括以下三部分,本文为第一部分: 一. Scala环境准备 二. Hadoop集群(伪分布模式)安装 查看 三. Spark集群(standalone模式)安装 查看 因Spark任务大多由Sca ...

  5. [转] Spark快速入门指南 – Spark安装与基础使用

    [From] https://blog.csdn.net/w405722907/article/details/77943331 Spark快速入门指南 – Spark安装与基础使用 2017年09月 ...

  6. K8S入门系列之集群二进制部署-->master篇(二)

    组件版本和配置策略 组件版本 Kubernetes 1.16.2 Docker 19.03-ce Etcd 3.3.17 https://github.com/etcd-io/etcd/release ...

  7. 基于Hadoop分布式集群YARN模式下的TensorFlowOnSpark平台搭建

    1. 介绍 在过去几年中,神经网络已经有了很壮观的进展,现在他们几乎已经是图像识别和自动翻译领域中最强者[1].为了从海量数据中获得洞察力,需要部署分布式深度学习.现有的DL框架通常需要为深度学习设置 ...

  8. openstack pike 集群高可用 安装 部署 目录汇总

    # openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...

  9. 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置

    本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...

随机推荐

  1. Java多线程系列3 synchronized 关键词

    先来看一个线程安全的例子 ,两个线程对count进行累加,共累加10万次. public class AddTest { public static void main(String[] args) ...

  2. 重写equals和hashCode的方法

    为什么要有 hashCode引用 我们以"HashSet 如何检查重复"为例子来说明为什么要有 hashCode: 当你把对象加入 HashSet 时,HashSet 会先计算对象 ...

  3. sqlserver删除临时表中的数据

    select distinct * into #tmptable from tablename drop table tablename select * into tablename from #t ...

  4. Django高级篇三。restful的解析器,认证组件,权限组件

    一.rest=framework之解析器 1)解析器作用. 根据提交的数据.只解析某些特定的数据.非法数据不接收,为了系统安全问题 比如解析的数据格式有 有application/json,x-www ...

  5. SGTtrick

    SGTtrick By 蒟蒻 ldxoiBy\ 蒟蒻\ ldxoiBy 蒟蒻 ldxoi Chapter 1.关于线段树操作的一些分析 我们知道,线段树有两个核心的函数pushdownpushdown ...

  6. hive、sqoop、MySQL间的数据传递

    hdfs到MySQL csv/txt文件到hdfs MySQL到hdfs  hive与hdfs的映射: drop table if exists emp;create table emp ( id i ...

  7. Jmeter小技巧以及问题集合

    一.JDBC Request与BeanShell PostProcessor的结合使用 JDBCRequest部分   BeanShell PostProcessor配置项 二.if控制器的用法 三. ...

  8. noip第18课资料

  9. PHP几种加密方式

    1.MD5() 2.Sha1() 3.urlencode()方法用于加密,urldecode()方法用于解密 4.base64_encode (  )  64位加密   base64_decode ( ...

  10. 使用CefSharp在.Net程序中嵌入Chrome浏览器(一)——简介

    有的时候,我们需要在程序中嵌入Web浏览器,其实.Net Framework中本身就提供了WebBrowser控件,本身这个是最简单易用的方案,但不知道是什么原因,这个控件在浏览网页的时候有些莫名的卡 ...