大数据平台分布式搭建-应用YARN的SPARK集群配置

Part I - 文件清单
  1. spark-2.1.1-bin-hadoop2.7.tar
Part II - 下载链接

[Spark 下载链接]:http://spark.apache.org/downloads.html

Part III - 基于YARN的Spark集群分布式部署

部署Hadoop后的基础上,进行以下操作。
总览,集群信息:

节点角色MasterSlave1Slave2
IP192.168.137.128192.168.137.129192.168.137.130
HostNameBlogMasterBlogSlave1BlogSlave2
SparkBolgMaster-YESBlogSlave1-YESBlogSlave2-YES

Step 1: 解压spark安装包至指定的目录(/opt/cluster/)

[root@BlogMaster ~]# tar -zxvf spark-2.1.1-bin-hadoop2.7.tar -C /opt/cluster

Step 2: 修改spark的两个配置文件(位于/opt/cluster/spark-2.1.1-bin-hadoop2.7/conf)

分别为:slaves和spark-env.sh。值得注意,在该目录下,两个文件并不存在,但存在同名但后缀为template的文件,故可以采用拷贝方式创建这两个文件。

  • Step 2.1: 对于slave文件

首先,执行如下命令:

[root@BlogMaster conf]# cp slaves.template slaves

其次,进入新创建的slave文件,新添如下内容:

# A Spark Worker will be started on each of the machines listed below.
BlogSlave1
BlogSlave2
  • Step 2.2: 对于spark-env.sh文件

首先,执行如下命令:

[root@BlogMaster conf]# cp spark-env.sh.template spark-env.sh

其次,进入新创建的spark-env.sh文件,在该文件末尾新添如下内容:

export SPARK_HOME=/opt/cluster/spark-2.1.1-bin-hadoop2.7
export JAVA_HOME=/opt/cluster/jdk1.8.0_181
export HADOOP_HOME=/opt/cluster/hadoop-2.8.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$YARN_HOME/etec/hadoop
export SPARK_MASTER_IP=BlogMaster
SPARK_LOCAL_DIRS=/opt/cluster/spark-2.1.1-bin-hadoop2.7
export SPARK_LIBRARY_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib/native
  • Step 2.3: 分发BlogMaster的修改后完整spark文件至两台Slave节点

对于BlogSlave1

[root@BlogMaster cluster]# scp -r spark-2.1.1-bin-hadoop2.7/ BlogSlave1:$PWD

对于BlogSlave2

[root@BlogMaster cluster]# scp -r spark-2.1.1-bin-hadoop2.7/ BlogSlave2:$PWD
Part IV - Spark集群启动和运行状态监测

Step 1: 启动Spark集群

总体,将在BlogMaster节点依次启动HDFS,YARN和Spark集群。具体地,将分别执行如下命令:

[root@BlogMaster hadoop-2.8.4]# start-dfs.sh
[root@BlogMaster hadoop-2.8.4]# start-yarn.sh

[root@BlogMaster hadoop-2.8.4]# cd ..
[root@BlogMaster cluster]# cd spark-2.1.1-bin-hadoop2.7/
[root@BlogMaster spark-2.1.1-bin-hadoop2.7]# sbin/start-all.sh 

考虑到Hadoop以及其内部包含的YARN集群,设置了全局环境变量,因此可以直接执行start-dfs.sh和start-yarn.sh两行命令。而spark集群的启动必须进入其安装目录,采用sbin/start-all.sh命令启动。

[root@BlogMaster hadoop-2.8.4]# start-dfs.sh

第一步: 在BlogMaster节点下,执行start-dfs.sh命令。

[root@BlogMaster hadoop-2.8.4]# start-dfs.sh

中间结果:

Starting namenodes on [BlogMaster]
BlogMaster: starting namenode, logging to /opt/cluster/hadoop-2.8.4/logs/hadoop-root-namenode-BlogMaster.out
BlogSlave2: starting datanode, logging to /opt/cluster/hadoop-2.8.4/logs/hadoop-root-datanode-BlogSlave2.out
BlogSlave1: starting datanode, logging to /opt/cluster/hadoop-2.8.4/logs/hadoop-root-datanode-BlogSlave1.out
Starting secondary namenodes [BlogSlave1]
BlogSlave1: starting secondarynamenode, logging to /opt/cluster/hadoop-2.8.4/logs/hadoop-root-secondarynamenode-BlogSlave1.out

第二步: 在BlogMaster节点下,执行start-yarn.sh命令。

[root@BlogMaster hadoop-2.8.4]# start-yarn.sh

中间结果:

starting yarn daemons
starting resourcemanager, logging to /opt/cluster/hadoop-2.8.4/logs/yarn-root-resourcemanager-BlogMaster.out
BlogSlave1: starting nodemanager, logging to /opt/cluster/hadoop-2.8.4/logs/yarn-root-nodemanager-BlogSlave1.out
BlogSlave2: starting nodemanager, logging to /opt/cluster/hadoop-2.8.4/logs/yarn-root-nodemanager-BlogSlave2.out

第三步: 在BlogMaster节点下,执行sbin/start-all.sh命令。

[root@BlogMaster hadoop-2.8.4]# cd ..
[root@BlogMaster cluster]# cd spark-2.1.1-bin-hadoop2.7/
[root@BlogMaster spark-2.1.1-bin-hadoop2.7]# sbin/start-all.sh 

中间结果:

[root@BlogMaster spark-2.1.1-bin-hadoop2.7]# sbin/start-all.sh
starting org.apache.spark.deploy.master.Master, logging to /opt/cluster/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-BlogMaster.out
BlogSlave1: starting org.apache.spark.deploy.worker.Worker, logging to /opt/cluster/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-BlogSlave1.out
BlogSlave2: starting org.apache.spark.deploy.worker.Worker, logging to /opt/cluster/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-BlogSlave2.out
[root@BlogMaster spark-2.1.1-bin-hadoop2.7]# jps
10789 NameNode
11080 ResourceManager
12104 Master
12170 Jps

Step 2: Spark集群正常运行状态—后台判断

在BlogMaster将产生Master进程,而在两台Slave节点将产生Worker进程。 具体如下:
BlogMaster节点:

[root@BlogMaster spark-2.1.1-bin-hadoop2.7]# jps
10789 NameNode
11080 ResourceManager
12104 Master
12170 Jps

BlogSlave1节点:

[root@BlogSlave1 hadoop]# jps
5873 DataNode
6050 NodeManager
6968 Worker
5930 SecondaryNameNode
7022 Jps

BlogSlave2节点:

[root@BlogSlave2 ~]# jps
5937 Jps
5162 DataNode
5263 NodeManager
5871 Worker

Step 3: Spark集群正常运行状态—网页查看

  • Step 3.1: 通过BlogMaster:8080查看spark集群
    在这里插入图片描述

  • Step 3.2: 通过BlogMaster:8088查看算圆周率的作业

执行如下命令,提交spark作业。

[root@BlogMaster spark-2.1.1-bin-hadoop2.7]# bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client ./examples/jars/spark-examples_2.11-2.1.1.jar 

以此方式进入web页面,查看刚提交的作业:
在这里插入图片描述

等待相对较长的时间,可以欣赏一首Alan Walker的The Spectre,enjoy…

大概2分钟后,再次通过此方式查看已结束的作业,结果如下:
在这里插入图片描述
运行结果查看,
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值