当前位置:   article > 正文

Centos7下Spark下载与安装_spark3.1.3下载

spark3.1.3下载

Centos7下Spark安装

  • 电脑系统:macOS 10.15.4
  • 虚拟机软件:Parallels Desktop14
  • 操作系统:CentOS 7
  • JDK版本:jdk1.8.0_162
  • Hadoop版本:hadoop-2.6.0-cdh5.9.3
  • Scala版本:scala-2.11.12
  • Spark版本:spark-2.4.6-bin-hadoop2.6

第一步:软件下载或编译

首先第一步先找到spark的下载地址:

在这里插入图片描述
在这里插入图片描述
解释:这里我选择的是spark的2.4.6的版本,原因是我的Hadoop安装的是2.6的版本,这里也可以自己的配置去选择。如果是选择2.4.6版本的话,则官网是给我们提供编译好的版本就不需要我们自己再编译。如上图所示,spark2.4.6均提供好Hadoop2.6和2.7的编译版本,但是低于2.6的版本就是需要我们自己下载源码再去编译。同时也要注意Scala的版本。

第二步:安装软件

(1)上传文件

将本机的安装包上传到虚拟机node1,上传方式:

scp 本机的文件绝对路径 caizhengjie@10.211.55.49:/opt/Hadoop
  • 1

(2)解压文件

上传成功之后需要对文件赋予权限

chmod u+x spark-2.4.6-bin-hadoop2.6.tgz
  • 1

解压文件:

tar -zxvf spark-2.4.6-bin-hadoop2.6.tgz
  • 1

创建软链接:

ln -s spark-2.4.6-bin-hadoop2.6 spark
  • 1

第三步:Spark的本地模式运行测试

进入spark目录下,这是开启spark

[caizhengjie@node1 spark]$ bin/spark-shell 
  • 1

在这里插入图片描述
这是一个spark的本地模式的运行测试

下面我们做一个词频统计:
/opt/datas目录下,新建一个stu.txt文件,内容如下:

java python hadoop
spring python hadoop java c c++
hbase spark scala
scala python java
linux unix java php
mysql hive hue
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
scala> val rdd = spark.read.textFile("/opt/datas/stu.txt")
  • 1
rdd: org.apache.spark.sql.Dataset[String] = [value: string]
  • 1

统计行数

scala> rdd.count()
  • 1
res2: Long = 6
  • 1

以数组的方式返回文件中所有的单词

scala> val lines = rdd.flatMap(x => x.split(" ")).collect
  • 1
lines: Array[String] = Array(java, python, hadoop, spring, python, hadoop, java, c, c++, hbase, spark, scala, scala, python, java, linux, unix, java, php, mysql, hive, hue)
  • 1

给数组中的每个数据生成元祖对

scala> val lines = rdd.flatMap(x => x.split(" ")).map(x => (x,1)).collect
  • 1
lines: Array[(String, Int)] = Array((java,1), (python,1), (hadoop,1), (spring,1), (python,1), (hadoop,1), (java,1), (c,1), (c++,1), (hbase,1), (spark,1), (scala,1), (scala,1), (python,1), (java,1), (linux,1), (unix,1), (java,1), (php,1), (mysql,1), (hive,1), (hue,1))
  • 1

给数据分组统计

scala> val lines = rdd.flatMap(x => x.split(" ")).map(x => (x,1)).rdd.reduceByKey((a,b) => (a+b)).collect
  • 1
lines: Array[(String, Int)] = Array((hbase,1), (scala,2), (spark,1), (hive,1), (hadoop,2), (php,1), (c++,1), (python,3), (mysql,1), (linux,1), (java,4), (hue,1), (spring,1), (c,1), (unix,1))
  • 1

给数据分组统计并排序

scala> val lines = rdd.flatMap(x => x.split(" ")).map(x => (x,1)).rdd.reduceByKey((a,b) => (a+b)).map(x => (x._2,x._1)).sortByKey().collect
  • 1
lines: Array[(Int, String)] = Array((1,hbase), (1,spark), (1,hive), (1,php), (1,c++), (1,mysql), (1,linux), (1,hue), (1,spring), (1,c), (1,unix), (2,scala), (2,hadoop), (3,python), (4,java))
  • 1

第四步:Spark服务WEB监控页面

在这里插入图片描述
在启动spark-shell的时候,我们会发现有web访问的网址,端口号默认是4040
但是去浏览器查看的时候,要输入http://IP:4040

在这里插入图片描述
到此为止,spark的单节点的安装与测试到这里就已经结束了!最大的注意点就是spark的版本问题。

第五步:Spark核心概念简介

现在你已经用shell运行了你的第一段Spark程序,是时候对Spark编程作更细致的了解了。

从上层来看,每个 Spark 应用都由一个 驱动器程序 (driver program)来发起集群上的各种 并行操作。驱动器程序包含应用的 main 函数,并且定义了集群上的分布式数据集,还对这 些分布式数据集应用了相关操作。在前面的例子里,实际的驱动器程序就是 Spark shell 本 身,你只需要输入想要运行的操作就可以了。

驱动器程序通过一个 SparkContext 对象来访问 Spark。 这个对象代表对计算集群的一个连接。 shell 启动时已经自动创建了一个 SparkContext 对象,是一个叫作 sc 的变量。一旦有了 SparkContext, 你就可以用它来创建 RDD。我们可以在这些行上进行各种操 作,比如 count() 。

要执行这些操作,驱动器程序一般要管理多个 执行器 (executor)节点。比如,如果我们在 集群上运行 count() 操作,那么不同的节点会统计文件的不同部分的行数。由于我们刚才是 在本地模式下运行 Spark shell, 因此所有的工作会在单个节点上执行,但你可以将这个 shell 连接到集群上来进行并行的数据分析。下图展示了 Spark 如何在一个集群上运行。
在这里插入图片描述


以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/816293
推荐阅读
相关标签
  

闽ICP备14008679号