Spark 环境安装与案例演示

Spark 环境安装

一、准备工作

1、hadoop成功安装

2、防火墙关闭

二、解压安装

1、上传 spark 安装包到/tools 目录,进入 tools 下,执行如下命令:
bash 复制代码
tar -zxvf spark-2.1.0-bin-hadoop2.7.tgz -C /training/

由于 Spark 的脚本命令和 Hadoop 有冲突,只需在.bash_profile 中设置一个即可(不能同时设置),所以有hadoop的就不设置spark的这个文件。

2、进入training,进入spark安装路径,配置文件spark-env.sh

1,

bash 复制代码
cd /training/spark-2.1.0-binhadoop2.7/conf/

可以看到并没有spark-env.sh

复制备份一份

bash 复制代码
cp spark-env.sh.template spark-env.sh

3.配置文件spark-env.sh

bash 复制代码
vi spark-env.sh

在底部输入配置(根据自己配置的路径、版本、主机名调整配置)

export JAVA_HOME=/training/jdk1.8.0_241

export SPARK_MASTER_HOST=niit

export SPARK_MASTER_PORT=7077

4。配置文件slaves

首先复制一遍slaves.template

bash 复制代码
cp slaves.template slaves

配置slaves,将localhost改自己的主机名

bash 复制代码
vi slaves
bash 复制代码
niit

三、启动spark

1、启动hadoop
bash 复制代码
start-all.sh
2.启动spark
bash 复制代码
cd /training/spark-2.1.0-binhadoop2.7/sbin/
bash 复制代码
start-all.sh

查看spark网址

http://niit(主机名):8080

Spark 案例演示

一、查询pi的值

1.进入spark安装目录,进入bin,使用spark-submit函数

2.查看spark example的路径,找到之后使用pwd将路径存在记事本中

3.查看spark pi的路径


输入执行总代码:

bash 复制代码
./spark-submit --master spark://niit:7077 --class org.apache.spark.examples.SparkPi /training/spark-2.1.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.1.0.jar 100

二、实现wordcount程序

1.进入spark安装目录,进入bin,使用spark-shell函数

  • spark-shell是 Spark 自带的交互式 Shell 程序,方便用户进行交互式编程,用户可以在该命令行下用 scala 编写 spark 程序。

2.进入shell

bash 复制代码
spark-shell

也可以使用以下参数:

参数说明:
--master spark://niit110:7077 指定 Master 的地址
--executor-memory 2g 指定每个 worker 可用内存为 2G
--total-executor-cores 2 指定整个集群使用的 cup 核数为 2 个

例如:

bash 复制代码
spark-shell --master spark://niit:7077

如果启动 spark shell 时没有指定 master 地址,但是也可以正常启动 spark shell 和执行sparkshell 中的程序,其实是启动了spark 的 local 模式,该模式仅在本机启动一个进程,没有与集群建立联系。请注意 local 模式和集群模式的日志区别:

local:

集群:

3.在 Spark Shell 中编写 WordCount 程序

首先将文件传输到hdfs中路径自己传输时设置,可以通过50070端口查看

将此代码写入shell中,ip地址以及文件、输入输出路径、文件名自行更换

bash 复制代码
sc.textFile("hdfs://192.168.163.128:9000/aaa/data.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("hdfs://192.168.163.128:9000/output/spark/wc")
相关推荐
会议咨询38 分钟前
2027年电力电子、人工智能与大数据国际会议(PEABD 2027)
大数据·人工智能·电力电子
GlobalInfo2 小时前
全球包装检测用3D轮廓传感器市场调研:2026年规模预计达1.87亿美元,食品医药与电商物流需求推动增长
大数据·人工智能·3d
程序 代码狂人2 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
starzy19903 小时前
Kafka响应发送:字节是怎么真正写回客户端的
大数据·kafka
数字新视界3 小时前
国产动环数据库在智能机房环境监控中的应用与优势分析
大数据·人工智能·数据中心·机房管理·模块化机房
KaiwuDB3 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式
古法老登瞎折腾4 小时前
大数据智能运维实战(九):让 AI 查日志——找到异常,也保留上下文
java·大数据·运维·人工智能·spring ai·mcp
keyipatience4 小时前
Git学习(2)撤销与分支操作全指南
大数据·elasticsearch·搜索引擎
数字新视界4 小时前
模块化机房的设计与实施原理剖析
大数据·物联网·信息可视化·信息与通信·一体化机柜
泡海椒4 小时前
深度解析JQuick-SQL AST到逻辑计划转换机制|分布式SQL原理
数据库·分布式·sql