spark环境构建

spark是个分布式运算平台,在火热的大数据时代,很多企业很多场景都使用spark作为运算平台。一方面是其在计算的高效性,另一方面是其稳定性。官网有个很形象的说明,spark的运算效率是hadoop运算效率的100倍以上。广泛被运用在各种场景中,原因spark支持很多语言的接口:java、scala、python、R等,降低了开发人员的使用门槛。

下面介绍spark的构建过程:

1、环境准备,准备三台服务器:

192.168.1.119	work01
192.168.1.120	work02
192.168.1.121	work03

2、JDK环境构建

这里不再详述,主要是配置好JAVA_HOME

3、SCALA环境构建

从官网下载scala安装包:https://www.scala-lang.org/,我在这里下载的版本使用的是2.11.1

将安装包解压到某个目录:/opt/scala/scala-2.11.1

在/etc/profile中增加配置:

export SCALA_HOME=/opt/scala/scala-2.11.1

4、spark环境构建

从官网下载spark的安装包:https://spark.apache.org/downloads.html,我这里使用的是spark的2.1.0版本。

因spark core是由scala编写,官网默认的安装包统计是由scala的2.11版本编译。官网说明:Note: Starting version 2.0, Spark is built with Scala 2.11 by default. Scala 2.10 users should download the Spark source package and build with Scala 2.10 support.

配置spark-env.sh(文件不存在时,直接cp对应的default文件)

export SCALA_HOME=/opt/scala/scala-2.12.1
export JAVA_HOME=/usr/java/jdk1.8.0_121/
export SPARK_MASTER_IP=192.168.1.119

配置spark-env.sh(文件不存在时,直接cp对应的default文件)

work01
work02
work03

上述配置是最简单的,所有的配置都使用默认的形式,后面写spark实现运算时再详细介绍某些配置的使用。

三台服务器是完全相同的配置,先配置好work01节点后,再将spark目录scp到work02和work03对应的目录下。

5、启动服务

在spark的sbin目录下执行./start-all.sh

spark@work01:/opt/spark/spark-2.1.0-bin-hadoop2.7/sbin$ ./start-all.sh 
starting org.apache.spark.deploy.master.Master, logging to /opt/spark/spark-2.1.0-bin-hadoop2.7/logs/spark-spark-org.apache.spark.deploy.master.Master-1-work01.out
work03: starting org.apache.spark.deploy.worker.Worker, logging to /opt/spark/spark-2.1.0-bin-hadoop2.7/logs/spark-spark-org.apache.spark.deploy.worker.Worker-1-work03.out
work02: starting org.apache.spark.deploy.worker.Worker, logging to /opt/spark/spark-2.1.0-bin-hadoop2.7/logs/spark-spark-org.apache.spark.deploy.worker.Worker-1-work02.out
work01: starting org.apache.spark.deploy.worker.Worker, logging to /opt/spark/spark-2.1.0-bin-hadoop2.7/logs/spark-spark-org.apache.spark.deploy.worker.Worker-1-work01.out

检查进程是否正常:

spark@work01:/opt/spark/spark-2.1.0-bin-hadoop2.7/sbin$ jps
46018 Jps
45865 Master
45966 Worker

spark@work02:/opt/spark/spark-2.1.0-bin-hadoop2.7/conf$ jps
9389 Worker
9439 Jps

spark@work02:/opt/spark/spark-2.1.0-bin-hadoop2.7/conf$ jps
9389 Worker
9439 Jps

查看master绑定的端口:

spark@work01:/opt/spark/spark-2.1.0-bin-hadoop2.7/sbin$ ss -lnp | grep 45865
tcp    LISTEN     0      50      ::ffff:192.168.1.119:6066                 :::*      users:(("java",45865,227))
tcp    LISTEN     0      1                     :::8888                 :::*      users:(("java",45865,222))
tcp    LISTEN     0      128     ::ffff:192.168.1.119:7077                 :::*      users:(("java",45865,220))

第一个端口是rpc的一个端口,建议一般情况下不要打开此端口,此端口可通过远程执行代码可入库对应的主机;第二个端口是webUI端口,第三个端口是执行Application时指定的端口。

通过webUI查看当前的状态:

猜你喜欢

转载自blog.csdn.net/goodstudy168/article/details/81516154
今日推荐