美文网首页Spark学习之路随笔-生活工作点滴
Spark学习(一)——入门与集群搭建

Spark学习(一)——入门与集群搭建

作者: 大数据阶梯之路 | 来源:发表于2019-08-04 15:49 被阅读5次

现在来学一学spark这个内存计算引擎,主要应用于大规模数据的计算。

一、简介

和MapReduce都是计算引擎,但两者还是有很大区别的,MapReduce计算的中间数据都是存储在硬盘上的,而Spark计算的中间数据都是存储在内存里的,除非有说明说让Spark把中间数据存储到硬盘上。这样可想而知基于内存,Spark的运行效率就比MapReduce快了许多了。

下图举例:把这么一座山当成是大规模的数据,开发商要把山上的树用去做桌子就相当于做计算,于是分配工人p们去山上砍树,多个不同的工人们在砍树就相当于是在并行计算,这大概就是云计算的思想:计算向数据移动,即移动的计算而不是数据, 最终目的就是提高计算效率。

图片.png

二、Spark架构

搭建过hadoop集群架构,也就熟悉了套路,spark集群架构也是采用主从架构(master主节点和worker从节点),master节点管理着各个worker节点,从而也就掌握着整个集群的资源。

三、Spark下载安装

直接去官网http://spark.apache.org/ 下载,不过下载时注意,spark版本要对应还hadoop的版本,我的hadoop版本安装的是2.6.4所以要勾选好对应的spark包,目前我选择的是spark2.4.3搭配hadoop2.6.4。

四、Spark集群搭建

  • 1、软件安装
    需要用到hadoop,java,scala,spark,直接把下载好的文件从windows上传到linux服务器上,再使用tar zxvf -C 文件名命令解压文件,hadoop和java的安装我就不提了,自行百度。接下来是scala的安装配置,同样是下载好上传到linux服务器然后解压,之后输入命令vi /etc/profile修改这个文件把scala的安装目录给加进去PATH属性中,:wq命令保存退出,再输入source /etc/profile命令使环境变量生效,最后输入命令scala -version查看是否安装scala成功。
  • 2、spark环境配置
    cd /usr/local/spark/conf到此目录下,找到spark-env.sh.templete文件改个名为spark-env.sh,再加入以下代码,对应注释在里面。注意:以下路径只是我个人电脑路径,大家自行修改为各自的软件安装路径。
JAVA_HOME=/usr/java/default     #java安装路径
SCALA_HOME=/usr/local/scala   #scala安装路径
HADOOP_HOME=/usr/local/hadoop   #hadoop安装路径
SPARK_MASTER_PORT=7077   #资源申请端口
SPARK_MASTER_WEBUI_PORT=8888   #对外访问web界面端口
SPARK_MASTER_IP=10.14.28.100   #spark集群的master节点的IP地址
SPARK_MASTER_OPTS="-Dspark.worker.timeout=100"   #从节点发送心跳给主节点的超时时间,使得主节点才知道从节点的生存状态
SPARK_WORKER_MEMORY=3G   #每个worker节点最大能分配给executors的内存大小
SPARK_WORKER_CORES=2   #每个worker节点所占有的CPU核数目
SPARK_WORKER_INSTANCES=1   #每台机器上开启的worker节点的数目
SPARK_LOCAL_DIRS=/var/spark   #集群运行本地目录
SPARK_WORKER_DIR="/var/spark/work"   #存放任务在计算中产生的中间数据
SPARK_WORKER_OPTS="-Dspark.worker.cleanup.enabled=true -Dspark.worker.cleanup.appDataTtl=259200"   #开启自动清空worker工作目录区的功能,后面是数据有效期
  • 3、配置spark/conf目录下的slaves文件,这跟我之前搭建hadoop集群时候一样写上管理着的各个slave机器就好,然后cd /usr/local到目录下,使用命令scp -r spark slave1:/usr/local把spark安装拷贝到slave1机器的同个路径下,后面同理slave2、slave3机器。附:关于scp拷贝命令的解析
  • 4、之后进入sbin目录下把start-all.shstop-all.sh脚本名给修改掉,因为hadoop集群也有这2个脚本,怕执行命令时冲突了。 图片.png
  • 5、最后使用命令vi /etc/profile修改PATH环境变量,把spark的bin路径和sbin路径加进去,这样就可以在所有命令下执行这个脚本命令了,注意:修改完后要source /etc/profile下,使环境变量生效。
  • 6、我把集群所有节点都启动起来了,包括之前搭建的hadoop集群的yarn和hdfs,截图如下: 图片.png 图片.png

相关文章

网友评论

    本文标题:Spark学习(一)——入门与集群搭建

    本文链接:https://www.haomeiwen.com/subject/zlqckctx.html