虚拟机操作系统:
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地址,如上所示
--driver-memory : Driver进程的内存
--executor-memory : Executor进程的内存
--executor-cores :每个Executor进程的core数量
或者
/bin/run-example SparkPi
3:查看运行结果,在浏览器打开master:8080