【Spark】(一)Linux上的环境搭建

首先,需要知道Spark的几种运行模式:

1. Local:本地模式,不涉及分布式,用线程模拟分布式

2. standalone:独立模式,伪分布式

3. onyarn:完全分布式

    下面又有两种部署模式:cluster集群模式和client客户端模式

    Driver:任务提交之后开启的第一个进程。

    两种模式的区别在于:客户端模式下在哪台机器提交就在哪台机器启动Driver,适用于开发完毕完全上线的情况。 而集群模式不管在哪台机器提交,都通过yarn进行分配机器启动Driver,适用于测试分布式的情况。

下面依次介绍三种模式的安装

一、本地模式

其实,将压缩包直接解压后就可以运行本地模式了,不需要任何配置,也不需要启动服务。当然,这样就需要进入到spark相应的环境目录下(就算配置了环境变量,还有一个问题就是:spark的启动命令和终止命令与hadoop是相同的,这样就会导致冲突了。可以通过给命令起别名来解决)

解压后,spark中自带了一个求π的估算值的jar包,可以使用它测试一下

./bin/spark-submit --master local --class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.1.1.jar

二、独立模式

虽然是伪分布式,但是既然有分布式三个字,肯定需要配置一些文件了。

要修改的文件:slaves和spark-env.sh

slaves:

spark-env.sh:

修改完之后,进入sbin启动服务:./start-all.sh

查看进程

还是用上面那个Pi值做测试

./spark-submit --master spark://master:7077 --class org.apache.spark.examples.SparkPi ./../examples/jars/spark-examples_2.11-2.1.1.jar

三、客户端模式

需要配置的还是slaves和spark-env.sh两个文件。

如果是多台机器,在slaves里配好(但自己搭建只有一台机器,又人为地变成了伪分布式,不过这个和上面的standalone独立模式还是不一样的)

spark-env.sh:既然是运行在yarn上的,就需要指定yarn的配置,通过hadoop的配置文件

启动yarn服务。

测试

./spark-submit --master yarn --deploy-mode client --class org.apache.spark.examples.SparkPi ./../examples/jars/spark-examples_2.11-2.1.1.jar

四、集群模式

在客户端模式配置的基础上,只需要改变提交任务时的命令,把deploy-mode改为cluster。

./spark-submit --master yarn --deploy-mode cluster --class org.apache.spark.examples.SparkPi ./../examples/jars/spark-examples_2.11-2.1.1.jar

集群模式下的运行结果并不会在控制台显示出来,而是以文件的形式输出到hadoop/logs/userlogs下(这是默认路径,可以更改)

四种运行模式的搭建都已经介绍完了,在搭建的过程中就可以发现,四者运行的时间是依次递增的。

猜你喜欢

转载自blog.csdn.net/hr786250678/article/details/86521333