1.启动spark和Hadoop

#根目录下启动Hadoop集群

start-all.sh

在spark的sbin目录下输入

sh start-all.sh

2.运行Spark-Shell命令

在spark/bin目录下,执行Spark-Shell命令进入Spark-Shell交互式环境

spark-shell --master

上述命令中,--master表示指定当前连接的Master节点,用于指定Spark的运行模式,下图为master-url可取参数

 如需查询Spark-Shell更多的使用方式可以执行“--help”命令

 3.运行Spark-Shell读取HDFS文件

通过启动Spark-Shell,并且使用Scala语言开发单词计数的Spark程序。

进入spark目录创建test文件夹,再在此文件下创建words.txt文件

mkdir test

#这是创建文件夹

touch words.txt

#这是创建文件

 在words.txt文件里面输入如下内容

hello hadoop

hello spark

hellp itcast

把本地的words.txt文件上传推送到HDFS中的/spark/test路径下

在hdfs上创建临时文件夹去存放我们要上传的文件:

hdfs dfs -mkdir -p /spark/test

-mkdir:创建文件夹命令 -p :创建多级目录命令 在Hadoop 根目录下创建了spark,spark下又创建了test文件夹

 Hadoop上上传文件

hdfs dfs -put /export/servers/spark/test/words.txt /spark/test

-put:上传文件 第一个路径是要传的文件的路径 第二个路径是目的地 

查看是否上传成功 第一种本地通过命令查看:

hdfs dfs -ls /spark/test

第二种通过Hadoop查看:

注:HDFS上传可看本文:(13条消息) 如何往hdfs上上传文件?_向hdfs中上传任意文本文件_Nurbiya_K的博客-CSDN博客

1.整合Spark与HDFS

Spark加载HDFS上的文件,需要修改conf目录下的spark-env.sh配置文件,添加HADOOP_CONF_DIR配置参数,指定Hadoop配置文件的目录,添加配置参数如下。

#指定HDFS配置文件目录

export HADOOP_CONF_DIR=/export/servers/hadoop-2.7.4/etc/hadoop

2.启动Hadoop 、Spark服务

配置完毕后,启动Hadoop集群服务,并重新启动Spark集群服务,使配置文件生效。

#根目录下启动Hadoop集群

start-all.sh

注:此图是Hadoop和saprk都启动状态

#在spark的sbin下先关闭spark再重新开启

sh stop-all.sh

sh start-all.sh

3.启动Spark-Shell编写程序

   启动Spark-Shell交互式界面,执行命令如下。

#spark目录下输入

bin/spark-shell --master local[2]

 Spark-Shell本身就是一个Driver,它会初始化一个SparkContext对象为“sc”,用户可以直接调用。下面编写Scala代码实现单词计数,具体代码如下。

sc.textFile("/spark/test/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

  

4.退出Spark-Shell客户端

:quit

  

推荐阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: