Spark【环境搭建 01】spark-3.0.0-without 单机版(安装+配置+测试案例)

简介: 【4月更文挑战第13天】Spark【环境搭建 01】spark-3.0.0-without 单机版(安装+配置+测试案例)

我使用的安装文件是 spark-3.0.0-bin-without-hadoop.tgz ,以下内容均以此版本进行说明。使用 without 版本的安装包要进行 spark 和 hadoop 的关联配置【hadoo的版本是3.1.3】。

1.1 解压

我使用的是之前下载的安装包,也可以去官网下载,选择 Spark 版本【最新版本是3.1.2】和对应的 Hadoop 版本后再下载。

# 解压安装包并移动到/usr/local/下
tar -zxvf spark-3.0.0-bin-without-hadoop.tgz
mv ./spark-3.0.0-bin-without-hadoop/ /usr/local/spark

1.2 配置

配置环境变量的方法比较多,这里统一将环境变量放在 /etc/profile.d/my_env.sh 内。

# 配置环境变量:
[root@tcloud spark]# vim /etc/profile.d/my_env.sh
# 添加 SPARK_HOME 和 bin
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
# 使得配置的环境变量立即生效:
    # 首先是要赋权限【只操作一次就行】
    chmod +x /etc/profile.d/my_env.sh
source /etc/profile.d/my_env.sh

配置 ${SPARK_HOME}/conf/spark-env.sh 文件关联 spark-without-hadoop 和 hadoop【非without版本无需配置】

[root@tcloud conf]# cp spark-env.sh.template spark-env.sh
[root@tcloud conf]# vim spark-env.sh
# 添加以下内容
# 实际就是执行时在 CLASSPATH 中加入 Hadoop 的 Jar 包 【要根据Hadoop的安装路径配置】
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop-3.1.3/bin/hadoop classpath)

1.3 Local模式

Local 模式是最简单的一种运行方式,它采用单节点多线程方式运行,适合日常测试开发使用。

# 启动spark-shell
[root@tcloud spark]# spark-shell --master local[*]

2021-07-30 14:55:56,588 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://tcloud:4040
Spark context available as 'sc' (master = local[*], app id = local-1627628171095).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 3.0.0
      /_/

Using Scala version 2.12.10 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_251)
Type in expressions to have them evaluated.
Type :help for more information.

scala>
  • local:只启动一个工作线程;
  • local[k]:启动 k 个工作线程;
  • local[*]:启动跟 cpu 数目相同的工作线程数。

进入 spark-shell 后,程序已经自动创建好了上下文 SparkContext ,等效于执行了下面的 Scala 代码:

val conf = new SparkConf().setAppName("Spark shell").setMaster("local[*]")
val sc = new SparkContext(conf)

2.第一个spark案例

词频统计案例应该是大部分学习 spark 的同学测试的第一个案例,安准备一个词频统计的文件样本 word.txt ,内容如下:

hadoop,spark,hive
spark,hive,hbase,kafka
hadoop,hive,spark

在 scala 交互式命令行中执行如下 Scala 语句【就这么一句就能实现词频统计 Java开发能想象到吗 :) 】

sc
.textFile("file:///home/spark/testFile/word.txt")
.flatMap(_.split(","))
.map((_, 1))
.reduceByKey(_ + _)
.saveAsTextFile("file:///home/spark/testFile/wordCount")

词频统计的结果:

[root@tcloud testFile]# cat ./wordCount/part-00000
(spark,3)
(hive,3)
(hadoop,2)
(kafka,1)
(hbase,1)

同时还可以通过 Web UI 查看作业的执行情况,访问端口为 4040 :

在这里插入图片描述

目录
相关文章
|
2月前
|
分布式计算 Hadoop 大数据
安装Spark
安装Spark
35 0
|
23天前
|
分布式计算 Hadoop 测试技术
Hadoop【环境搭建 05】【hadoop-3.1.3 单机版基准测试 TestDFSIO + mrbench + nnbench + Terasort + sort 举例】
【4月更文挑战第1天】Hadoop【环境搭建 05】【hadoop-3.1.3 单机版基准测试 TestDFSIO + mrbench + nnbench + Terasort + sort 举例】
35 3
|
2天前
|
Linux 测试技术 数据安全/隐私保护
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
|
17天前
|
SQL Java 测试技术
Jmeter的安装与快速使用(做并发测试)
Jmeter的安装与快速使用(做并发测试)
17 0
|
2月前
|
消息中间件 Kafka Linux
Kafka【付诸实践 03】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
【2月更文挑战第21天】Kafka【付诸实践 03】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
212 2
|
2月前
|
分布式计算 Ubuntu Java
Spark环境搭建与使用
Spark环境搭建与使用
36 0
|
2月前
|
Java 测试技术 Maven
《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
【2月更文挑战第11天】《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程) 是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。由于现在企业和公司中Java的大部分项目都是基于Maven, 因此宏哥为了照顾到企业或者公司用的java项目中用到maven的童鞋或者小伙伴们,这里也简单的介绍和分享一下。在Maven项目中使用Selenium. 非常简单。
71 3
|
分布式计算 Hadoop Spark
Spark 安装配置简单测试
简介 Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapRed
2445 0
|
4月前
|
机器学习/深度学习 SQL 分布式计算
Apache Spark 的基本概念和在大数据分析中的应用
介绍 Apache Spark 的基本概念和在大数据分析中的应用
161 0
|
21天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。