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")
相关推荐
IT小哥哥呀28 分钟前
电池制造行业数字化实施
大数据·制造·智能制造·数字化·mom·电池·信息化
Xi xi xi32 分钟前
苏州唯理科技近期也正式发布了国内首款神经腕带产品
大数据·人工智能·经验分享·科技
yumgpkpm1 小时前
华为鲲鹏 Aarch64 环境下多 Oracle 、mysql数据库汇聚到Cloudera CDP7.3操作指南
大数据·数据库·mysql·华为·oracle·kafka·cloudera
祈祷苍天赐我java之术2 小时前
Redis 数据类型与使用场景
java·开发语言·前端·redis·分布式·spring·bootstrap
UMI赋能企业2 小时前
制造业流程自动化提升生产力的全面分析
大数据·人工智能
TDengine (老段)2 小时前
TDengine 数学函数 FLOOR 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
猫林老师4 小时前
HarmonyOS线程模型与性能优化实战
数据库·分布式·harmonyos
派可数据BI可视化5 小时前
商业智能BI 浅谈数据孤岛和数据分析的发展
大数据·数据库·数据仓库·信息可视化·数据挖掘·数据分析
jiedaodezhuti5 小时前
Flink性能调优基石:资源配置与内存优化实践
大数据·flink
Lx3526 小时前
Flink窗口机制详解:如何处理无界数据流
大数据