【spark】spark集群的安装和spark shell测试wordcount

一、安装spark

1、已解spark的压缩包
tar -zxvf spark-2.0.2-bin-hadoop2.7.tgz
2、进入~/spark/conf里配置spark-env.sh,改文件包含sark的各种运行环境

在这里插入图片描述
在这里插入图片描述

3、配置slaves文件,同样复制一份 .template

在这里插入图片描述
在这里插入图片描述

4、将配置好的spark分发给所有slave(这里也就是node01 node02)
scp -r /export/servers/spark-2.0.2-bin-hadoop2.7 root@node02:/export/servers/spark-2.0.2-bin-hadoop2.7 

scp -r /export/servers/spark-2.0.2-bin-hadoop2.7 root@node03:/export/servers/spark-2.0.2-bin-hadoop2.7
5、配置spark环境变量

将spark添加到环境变量 添加以下内容/etc/profile
在这里插入图片描述

export SPARK_HOME=:/export/servers/spark-2.0.2-bin-hadoop2.7 
export PATH=$PATH:$SPARK_HOME/bin

记得要 source /etc/profile以下,更新下环境变量

6、启动spark,停止spark

#在node01(主)节点上启动spark,(~/spark/bin)
在这里插入图片描述

start-all.sh

#在node01(主)节点上停止spark,(~/spark/bin)

stop-all.sh
7、看下work的状态

在这里插入图片描述
发现work已经起来了,ok啦

8、通过web访问spark

http://192.168.25.100:8080/
node01:8080

在这里插入图片描述

二、简单的测试一下,用shell写个wordcount

spark-shell进入

spark-shell

在这里插入图片描述
在这里插入图片描述

这里要提一下sparkcontext(sc)他自己会给你,你要知道sc是什么,这里直接可以拿来用

  • 第一条
scala> val rdd1 = sc.textFile("/abc.txt")   

主要功能是加载HDFS中 abc.txt 的数据文件进入Spark本地或是集群计算,这里我们使用的是SparkContext的textFile算子,加载后的数据将以每行记录组成元素,元素类型为String

  • 第二条
scala> val rdd2 = rdd1.flatMap(line=>line.split(" "))  

主要是对每一行进行操作。这里使用transformation中的flatMap算子,作用是可以将一个数据扁平化处理。这里也就是将输入文件的每一行数据,按空格(" ")进行拆分,得到单词数组,再将数组进行扁平化后形成单词字符串,在flatMapRDD中.

  • 第三条
scala> val rdd3 = rdd2.map(word =>(word,1)) 

单词数组flatMapRDD中的数据进行标记,即每个行的格式由单个单词转变成的形式。

  • 第四条
scala> val rdd4 = rdd3.reduceByKey(_+_)     

不同RDD中相同key值拉到一起进行value的归并操作,shuffle

  • 第五条
scala> rdd4.saveAsTextFile("/out")   

将结果保存到 hdfs /out下

来看一下结果吧
在这里插入图片描述

晚安~
晚安!

发布了5 篇原创文章 · 获赞 9 · 访问量 1248

猜你喜欢

转载自blog.csdn.net/weixin_45783164/article/details/104645366