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")
相关推荐
陕西企来客7 小时前
2026年7月AI智能搜索曝光趋势研判
大数据·人工智能·机器学习·ai智能搜索曝光
hangyuekejiGEO8 小时前
GEO技术服务选型指南
大数据·人工智能·python
阿里云大数据AI技术8 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
风途科技~10 小时前
雷达与压力一体式设计,可同时选用或单独选用—一体式管网液位计灵活配置
大数据·人工智能
大大大大晴天12 小时前
浅析StarRocks 表设计:表类型、分布策略与索引
大数据
学者猫头鹰12 小时前
分布式事务实战教程
java·分布式
APItesterCris12 小时前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化
笨蛋不要掉眼泪14 小时前
RabbitMQ消息队列:MQ的可靠性
分布式·rabbitmq·java-rabbitmq
全栈派森15 小时前
告别大表膨胀!MySQL 冷热分离落地全过程(含 CDC 与单行锁抢占实战)
大数据·mysql
LinuxGeek102415 小时前
Kylin-Server-V11、openEuler-22.03和openEuler-24.03适配原生rpm的MySQL 8.4.11版本正式发布
大数据·mysql·kylin