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

一. 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. playframework链接MySQL数据库的问题

    Scala 在米国已经发展的如火如荼,有些人甚至说Scala将成为未来语言的头号交椅.简洁的代码和表达式的写法让很多人倍感舒适,函数式和面向对象的编程范式也让其能在多种场合游刃有余的被使用.加之它是跑 ...

  2. ORA-12514: TNS:监听程序当前无法识别连接描述符中请

    若Oracle出现“监听程序当前无法识别连接描述符中请求的服务”这个错误可以按照以下方法解决: 可以通过这个路径找到一个文本文件: oracle\product\10.2.0\db_1\NETWORK ...

  3. pycharm 2017最新激活码

    BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiI ...

  4. liunx Ubuntu 设置IP、网关、DNS

    说明:在网上给的教程上面通常会有这样的一个误导思路,按照配置文件设置后会不生效的问题,甚至没有一点效果,经过排查发现Linux下设置IP这个话题的入口线索应该分为两种:1为Server版,2为Desk ...

  5. 做到让DBCP连接池不超时

    前些天部署了一个项目,但每次隔一段时间打开都会报如下所示的错误:  javax.servlet.ServletException: org.springframework.transaction.Ca ...

  6. ECharts初体验

    ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等) ...

  7. 关于poi导出excel三种方式HSSFWorkbook,SXSSFWorkbook,csv的总结

    poi导出excel最常用的是第一种方式HSSFWorkbook,不过这种方式数据量大的话会产生内存溢出问题,SXSSFWorkbook是一种大数据量导出格式,csv是另一种excel导出的一种轻快的 ...

  8. Django积木块一——验证码

    验证码 在github中搜验证码,那个有使用文档 # pip install django-simple-captcha==0.4.6 # setting app captcha # url url( ...

  9. java_io

    JAVA IO流(一)参考文章:http://ifeve.com/java-io-network/,并发编程网原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java ...

  10. postgresql vacuum操作

    postgresql vacuum操作 PostgreSQL数据库管理工作中,定期vacuum是一个重要的工作.vacuum的效果: 1.1释放,再利用 更新/删除的行所占据的磁盘空间. 1.2更新P ...