(十)spark集群安装

注:scala直接解压配置环境变量即可

1.下载spark安装包

下载地址spark官网:http://spark.apache.org/downloads.html

这里我们使用 spark-2.2.0-bin-hadoop2.7版本.

2.上传压缩包并解压

这里我们上传到第一台机器 /export/servers 目录下,并执行以下命令:

tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz

3.修改配置文件

  • 修改spark-env.sh
cd /export/servers/spark-2.2.0-bin-hadoop2.7/conf

cp spark-env.sh.template spark-env.sh

vim  spark-env.sh 
#配置java环境变量
export JAVA_HOME=/export/servers/jdk1.8.0_144
#指定spark老大Master的IP
export SPARK_MASTER_HOST=node01
#指定spark老大Master的端口
export SPARK_MASTER_PORT=7077
  • 修改slave
cd /export/servers/spark-2.2.0-bin-hadoop2.7/conf
cp  slaves.template slaves
vim  slaves
node02
node03

原来的localhost不用删除

在这里插入图片描述

4.拷贝配置到其他主机

scp -r /export/servers/spark-2.2.0-bin-hadoop2.7 node02:/export/servers
scp -r /export/servers/spark-2.2.0-bin-hadoop2.7 node03:/export/servers

5.配置spark环境变量

三台机器都要执行

vim /etc/profile
export SPARK_HOME=/export/servers/spark-2.2.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin

刷新配置

source /etc/profile

6.启动spark

在主节点(也就是第一台机器)启动spark

/export/servers/spark-2.2.0-bin-hadoop2.7/sbin/start-all.sh 

停止spark

/export/servers/spark-2.2.0-bin-hadoop2.7/sbin/stop-all.sh 

7.spark的web界面

正常启动spark集群后,可以通过访问 http://node01:8080, 查看spark的web界面,查看相关信息。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dm2loNKJ-1603532806488)(8B58A7F4785744599A25B7388491FFA0)]

7.1 执行第一个spark程序

进入spark目录

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://node01:7077 \
--executor-memory 1G \
--total-executor-cores 2 \
/export/servers/spark-2.2.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.2.0.jar \
10

在这里插入图片描述

8.启动Spark-Shell

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

8.1 运行spark-shell 读取本地文件 单机版wordcount

  • spark-shell --master local[N] CPU核数N个

读取本地文件,实现文件内的单词计数。本地文件words.txt 内容如下:

hello me
hello you
hello her

可以在本地运行,也可以在第一台机器

  • spark-shell

第一台机器:

sc.textFile("file:///root/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
代码说明:
sc:Spark-Shell中已经默认将SparkContext类初始化为对象sc。用户代码如果需要用到,则直接应用sc即可。
textFile:读取数据文件
flatMap:对文件中的每一行数据进行压平切分,这里按照空格分隔。
map:对出现的每一个单词记为1(word,1)
reduceByKey:对相同的单词出现的次数进行累加
collect:触发任务执行,收集结果数据。

在这里插入图片描述

本地:

在这里插入图片描述

8.2 读取HDFS上数据

  • (1)整合spark和HDFS,修改配置文件

在spark-env.sh ,添加HADOOP_CONF_DIR配置,指明了hadoop的配置文件后,默认它就是使用的hdfs上的文件

cd /export/servers/spark-2.2.0-bin-hadoop2.7/conf
vim  spark-env.sh
#spark整合hdfs
export HADOOP_CONF_DIR=/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
  • (2)、再启动启动hdfs,然后重启spark集群
  • (3)、向hdfs上传一个文件
将root下面的words.txt拷贝到hdfs的test目录
hdfs dfs -put /root/words.txt /test

查看内容
hdfs dfs -cat /test/words.txt
  • (4)、在spark shell中用scala语言编写spark程序
sc.textFile("/test/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

WGS.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值