背景介绍

最近调到大数据部门,Spark属于大数据非常重要的基础组件,研究研究也是非常必要的,现实验安装一下,以便对其部署运行机制有个深刻的认识。

实验环境

实验环境:Win7下vmware虚拟机
操作系统:CentOS 6.5 x64
JDK:jdk-8u161-linux-x64
Scala:scala-2.12.4
Hadoop:hadoop-2.7.5
Spark:spark-2.2.1-bin-hadoop2.7

系统规划

准备3个节点,一个master节点,两个slave节点。
Master节点服务角色:namenode、SecondNameNode、ResourceManager
Slave节点服务角色:datanode、NodeManager

  • 192.168.86.143;master.itclj.spark;1核:2G
  • 192.168.86.144;slave1.itclj.spark;1核;1G
  • 192.168.86.145;slave2.itclj.spark;1核;1G

前置条件

Spark依赖的环境比较多:JDK、Scala、hadoop、python、R。
具体各组件的安装请参考下面链接。

Spark配置

Spark程序配置(主节点)

把程序包上传到/home/hadoop/app并解压。

rz  //选择上传程序包
tar –zxvf spark-2.2.1-bin-hadoop2.7.tgz

配置spark-env.sh和slaves

这里写图片描述

首先我们把缓存的文件spark-env.sh.template改为spark识别的文件spark-env.sh

cp conf/spark-env.sh.template conf /spark-env.sh

修改spark-env.sh文件

vim conf/spark-env.sh

在最后加入如下配置

export JAVA_HOME=/usr/java/jdk1.8.0_161
export SCALA_HOME=/usr/scala/scala-2.12.4
export HADOOP_HOME=/home/hadoop/app/hadoop-2.7.5
export HADOOP_CONF_DIR=/home/hadoop/app/hadoop-2.7.5/etc/hadoop
export SPARK_MASTER_IP=master.itclj.spark
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1

变量说明

  • JAVA_HOME:Java安装目录
  • SCALA_HOME:Scala安装目录
  • HADOOP_HOME:hadoop安装目录
  • HADOOP_CONF_DIR:hadoop集群的配置文件的目录
  • SPARK_MASTER_IP:spark集群的Master节点的ip地址
  • SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小
  • SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目
  • SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目

修改slaves文件

vim conf/slaves

删除原来的location,添加下面配置

slave1.itclj.spark
slave2.itclj.spark

把配置好的spark程序包同步到2个slave节点。

scp -r /home/hadoop/app/spark-2.2.1-bin-hadoop2.7 hadoop@slave1.itclj.spark:/home/hadoop/app
scp -r /home/hadoop/app/spark-2.2.1-bin-hadoop2.7 hadoop@slave2.itclj.spark:/home/hadoop/app

启动Spark集群

因为我们只需要使用hadoop的HDFS文件系统,所以我们并不用把hadoop全部功能都启动。

启动hadoop的HDFS文件系统

start-dfs.sh

启动Spark

因为hadoop/sbin以及spark/sbin均配置到了系统的环境中,它们同一个文件夹下存在同样的start-all.sh文件。最好是打开spark-2.2.0,在文件夹下面打开该文件。

./sbin/start-all.sh

Master节点jps查看

这里写图片描述

Slave节点jps查看

这里写图片描述

成功打开Spark集群之后可以进入Spark的WebUI界面,可以通过

http://192.168.86.133:8080/

访问,可见有两个正在运行的Worker节点。

这里写图片描述

打开Spark-shell

使用

spark-shell

这里写图片描述

便可打开Spark的shell

同时,因为shell在运行,我们也可以通过

SparkMaster_IP:4040

访问WebUI查看当前执行的任务。

这里写图片描述


参考:
http://blog.csdn.net/weixin_36394852/article/details/76030317
http://blog.csdn.net/ouyangyanlan/article/details/52355350

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐