Spark新手入门——3.Spark集群(standalone模式)安装
主要包括以下三部分,本文为第三部分:
一. 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模式)安装的更多相关文章
- Spark新手入门——2.Hadoop集群(伪分布模式)安装
主要包括以下三部分,本文为第二部分: 一. Scala环境准备 查看 二. Hadoop集群(伪分布模式)安装 三. Spark集群(standalone模式)安装 查看 Hadoop集群(伪分布模式 ...
- Spark集群-Standalone 模式
Spark 集群相关 table td{ width: 15% } 来源于官方, 可以理解为是官方译文, 外加一点自己的理解. 版本是2.4.4 本篇文章涉及到: 集群概述 master, worke ...
- spark之scala程序开发(集群运行模式):单词出现次数统计
准备工作: 将运行Scala-Eclipse的机器节点(CloudDeskTop)内存调整至4G,因为需要在该节点上跑本地(local)Spark程序,本地Spark程序会启动Worker进程耗用大量 ...
- Spark新手入门——1.Scala环境准备
主要包括以下三部分,本文为第一部分: 一. Scala环境准备 二. Hadoop集群(伪分布模式)安装 查看 三. Spark集群(standalone模式)安装 查看 因Spark任务大多由Sca ...
- [转] Spark快速入门指南 – Spark安装与基础使用
[From] https://blog.csdn.net/w405722907/article/details/77943331 Spark快速入门指南 – Spark安装与基础使用 2017年09月 ...
- K8S入门系列之集群二进制部署-->master篇(二)
组件版本和配置策略 组件版本 Kubernetes 1.16.2 Docker 19.03-ce Etcd 3.3.17 https://github.com/etcd-io/etcd/release ...
- 基于Hadoop分布式集群YARN模式下的TensorFlowOnSpark平台搭建
1. 介绍 在过去几年中,神经网络已经有了很壮观的进展,现在他们几乎已经是图像识别和自动翻译领域中最强者[1].为了从海量数据中获得洞察力,需要部署分布式深度学习.现有的DL框架通常需要为深度学习设置 ...
- openstack pike 集群高可用 安装 部署 目录汇总
# openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...
- 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置
本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...
随机推荐
- leveldb 学习记录(七) SSTable构造
使用TableBuilder构造一个Table struct TableBuilder::Rep { // TableBuilder内部使用的结构,记录当前的一些状态等 Options options ...
- python_paramiko
目录: paramiko模块介绍 paramiko模块安装 paramiko模块使用 一.paramiko模块介绍 paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件 ...
- Myeclipse中的tomcat项目的内存溢出
tomcat中 内存溢出 在这里写上 -Xmx1024M -Xms1024M -XX:NewSize=128m -XX:MaxNewSize=128m -XX:PermSize=128m -XX:Ma ...
- 20175316 盛茂淞 实验一 Java开发环境的熟悉
20175316 盛茂淞 实验一 Java开发环境的熟悉 实验目的 使用JDK编译.运行简单的Java程序 实验要求 1.建立"自己学号exp1"的目录 2.在"自己学号 ...
- 最长公共子序列(LCS)最长递增子序列(LIS)
#include<cstring>#include<iostream>#include<stack>#include <algorithm>using ...
- java基础要点总结
无意间看到youtube上的一组java基础的视频,顺便做了笔记,整理如下: 出处: 作者:Edward Shi 视频链接:https://www.youtube.com/watch?v=IQE9jH ...
- 在jenkins中调用maven的变量
Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录) ${project.build.directory} 构建目录,缺省为target目录 ${project. ...
- 程序猿的日常——工作中常用的Shell脚本
工作当中总是会有很多常用的linux或者命令,这里就做一个总结 文件远程拷贝 如果想把文件从本机拷贝到远程,或者从远程下载文件到本地. # 把本地的jar拷贝到远程机器xxxip的/home/sour ...
- Performance面板看js加载
概述 前几天研究了一个下开发者工具的performance面板,挺有意思的.文件的加载顺序又对页面性能有着至关重要的影响.所以我用performance面板研究了以下几种配置的加载顺序,把过程和结果记 ...
- Swift5 语言指南(六) 字符和字符串
甲串是一系列字符,如的或.Swift字符串由类型表示.可以通过各种方式访问a的内容,包括作为值的集合."hello, world""albatross"Stri ...