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 :

在这里插入图片描述

目录
相关文章
|
6月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
209 4
|
7月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
326 13
|
6月前
|
监控 测试技术 API
n8n自动化测试教程 (1):环境搭建与初识n8n
n8n是一款开源、可视化的工作流自动化工具,测试工程师可通过拖拽节点快速构建API测试流程,实现测试编排、数据管理、自动化监控与告警等功能,提升测试效率与覆盖率。
|
8月前
|
Web App开发 JavaScript 测试技术
Playwright 极速入门:1 小时搞定环境搭建与首个测试脚本
本文带你1小时快速入门Playwright,完成环境搭建并编写首个测试脚本。Playwright是微软推出的现代化Web自动化测试工具,支持Chromium、Firefox和WebKit三大浏览器引擎,具备跨平台、多语言(Python/JS/Java/C#)特性。其核心优势包括:智能自动等待机制减少失败率、内置录制工具实时生成脚本、多语言灵活选择,以及真移动端设备模拟能力,显著提升测试效率和可靠性。
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
1818 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
9月前
|
人工智能 分布式计算 大数据
大数据≠大样本:基于Spark的特征降维实战(提升10倍训练效率)
本文探讨了大数据场景下降维的核心问题与解决方案,重点分析了“维度灾难”对模型性能的影响及特征冗余的陷阱。通过数学证明与实际案例,揭示高维空间中样本稀疏性问题,并提出基于Spark的分布式降维技术选型与优化策略。文章详细展示了PCA在亿级用户画像中的应用,包括数据准备、核心实现与效果评估,同时深入探讨了协方差矩阵计算与特征值分解的并行优化方法。此外,还介绍了动态维度调整、非线性特征处理及降维与其他AI技术的协同效应,为生产环境提供了最佳实践指南。最终总结出降维的本质与工程实践原则,展望未来发展方向。
454 0
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
1091 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
12月前
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
602 79
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
335 0
|
消息中间件 分布式计算 NoSQL
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
303 0