Ubuntu18.04 下 Spark 2.4.3 standalone模式集群部署

虚拟机操作系统:

ubuntu 18.04 server + gnome 桌面

前置环境准备:

1、集群主机名和hosts文件映射:https://www.cnblogs.com/benfly/p/8117996.html

2、集群ssh免密登录:https://www.cnblogs.com/benfly/p/8117894.html

3、集群每个节点防火墙关闭:https://www.cnblogs.com/chenjfblog/p/8317880.html

4、JDK1.8安装:https://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html

5、Hadoop集群安装,Spark存储层需要用到HDFS:https://www.cnblogs.com/benfly/p/8118168.html

Spark安装配置

Spark自带资源调度框架,有多种部署模式,可以不依赖于其它的资源管理框架,如YARN或Mesos,可以读取本地文件,所以也可以不用依赖HDFS,Standalone是最简单的一种集群部署方式

1:下载spark2.4.3 (https://spark.apache.org/downloads.html),选择相应的版本,如版本 spark-2.4.3-bin-hadoop2.7.tgz,将文件直接下载到ubuntu的目录或在window系统下载后上传到虚拟机中的指定目录,如/home/{youraccount}/application

2:将文件解压:tar -xvzf spark-2.4.3-bin-hadoop2.7

3:修改配置文件

cd spark-2.4.3-bin-hadoop2.7/conf
cp spark-env.sh.template spark-env.sh
cp spark-defaults.conf.template spark-default.conf
cp slaves.template slaves

修改 spark-env.sh,添加变量

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_151
export SPARK_MASTER_HOST=master
export SPARK_MASTER_PORT=7077

修改slaves文件,添加worker 机器

ubuntu2
ubuntu3

修改spark-defaultes.conf

spark.master                     spark://192.168.2.1:7077

4:可以在其中一个节点完成上述步骤后,再通过scp命令拷贝到其它节点上(注意,一定要是相同的目录路径,否则spark无法正常启动)

测试

1:在master机器上启动spark

sbin/start-all.sh

2:运行spark自带的测试程序

./bin/spark-submit --class org.apache.spark.examples.SparkPi 
    --master spark://master:7077 
    --deploy-mode cluster 
    --driver-memory 512m 
    --executor-memory 512m 
    --executor-cores 2 
    examples/jars/spark-examples_2.11-2.4.3.jar 
    10

参数说明:

--master :决定在哪里运行job.  可以为 ‘yarn’, ‘mesos’ ,对于standalone,填master地址,如上所示

--deploy-mode :部署模式, ‘cluster’,  ‘client’ 

--driver-memory : Driver进程的内存

--executor-memory : Executor进程的内存

--executor-cores :每个Executor进程的core数量

或者

/bin/run-example SparkPi

3:查看运行结果,在浏览器打开master:8080

原文地址:https://www.cnblogs.com/benfly/p/11283694.html