spark的分布式部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wyl9527/article/details/90517478

目录

 

1.spark是什么?

2.spark的原理

3. spark的分布式部署

3.1 机器信息

3.2 安装前准备工作

3.2.1 jdk的安装

3.2.2 python的安装

3.2.3 scala的安装

3.3 Spark的安装

扫描二维码关注公众号,回复: 6409544 查看本文章

3.3.1 获取安装包

3.3.2 解压,配置环境变量

3.3.3 修改配置文件,分发到其他机器

3.3.4 启动服务

3.3.5 验证


1.spark是什么?

首先我们看一下hadoop生态系统:

hdfs + zookeeper + mapreduce/hive + hbase + storm + mahout + 其他工具

如果说hive的产生是为了解决MapReduce的编程复杂问题,那么Spark的产生就是为了解决MapReduce的计算缓慢的问题

hdfs + zookeeper +spark + hbase + storm + mahout + 其他工具

所以:spark是快速,通用,可扩展的分布式计算引擎

2.spark的原理

参考他人的博客

3. spark的分布式部署

我们主要来讲spark的分部署部署

3.1 机器信息

机器列表 角色
wyl01 master、work
wyl02 work
wyl03 work

3.2 安装前准备工作

我们看官网上的要求:

  • jdk
  • python
  • scala

3.2.1 jdk的安装

3.2.2 python的安装

3.2.3 scala的安装

scala官网,下载安装包

解压,配置环境变量,输入sacla出现面的交互模式,则表示安装成功

[root@wyl01 opt]# scala
Welcome to Scala 2.12.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_131).
Type in expressions for evaluation. Or try :help.

scala> 

3.3 Spark的安装

3.3.1 获取安装包

Spark官网下载地址

3.3.2 解压,配置环境变量

tar -xf spark-2.3.3-bin-hadoop2.7.tgz   -C /opt

vim /etc/profile

# 添加以下内容
export SPARK_HOME=/opt/spark
export PATH=${SPARK_HOME}/bin:$PATH

3.3.3 修改配置文件,分发到其他机器

在修改配置文件之前,我们看看单机版的一个Spark一个执行情况,我们就按照官网上的例子来做

[root@wyl01 spark]# ./bin/spark-shell
2019-05-24 11:10:29 WARN  NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://wyl01:4040
Spark context available as 'sc' (master = local[*], app id = local-1558667447611).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.3.3
      /_/
         
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_131)
Type in expressions to have them evaluated.
Type :help for more information.

scala>  val textFile = spark.read.textFile("README.md")   #是spark下的readme的一个文件
scala> textFile.count()
res0: Long = 103                    # 看到结果是103行

修改配置文件,官网上也有介绍,只要修改2个配置文件 

修改spark-env.sh配置文件

vim spark-env.sh
#添加以下内容
export JAVA_HOME=/opt/java
export HADOOP_HOME=/opt/hadoop
export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
export SCALA_HOME=/opt/scala
export SPARK_MASTER_HOST=wyl01
export SPARK_MASTER_PORT=7077

修改slaves配置文件

vim slaves   #添加work节点
wyl01
wyl02
wyl03

 在master节点将spark的安装包分发到其他机器

rsync -av spark spark-2.3.3-bin-hadoop2.7 wyl02:/opt/
rsync -av spark spark-2.3.3-bin-hadoop2.7 wyl03:/opt/

3.3.4 启动服务

在master节点上启动服务,这里需要注意hadoop集群中也有start-all.sh,如果都配置了环境变量,这里我们最好是去spark的sbin目录下去启动比较好

[hadoop@wyl01 sbin]# ./start-all.sh

3.3.5 验证

查看进程是否启动

查看web 页面是否正常访问

跑一个任务验证

[hadoop@wyl01 sbin]# spark-submit   --class org.apache.spark.examples.SparkPi   --master spark://wyl01:7077   --deploy-mode cluster   --supervise   --executor-memory 512m   --total-executor-cores 2   /opt/spark/examples/jars/spark-examples_2.11-2.3.3.jar 100
Running Spark using the REST application submission protocol.
2019-05-24 17:09:40 INFO  RestSubmissionClient:54 - Submitting a request to launch an application in spark://wyl01:7077.
2019-05-24 17:09:51 WARN  RestSubmissionClient:66 - Unable to connect to server spark://wyl01:7077.
Warning: Master endpoint spark://wyl01:7077 was not a REST server. Falling back to legacy submission gateway instead.
2019-05-24 17:09:51 WARN  NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

至此,我们的spark集群就已经部署好了

猜你喜欢

转载自blog.csdn.net/wyl9527/article/details/90517478