Spark【环境搭建 01】spark-3.0.0-without 单机版(安装+配置+测试案例)(Linux环境 腾讯云 CentOS Linux release 7.5.1804)

我使用的安装文件是 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 :

在这里插入图片描述

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

シ風

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值