Spark2.2集群部署和配置(CentOS)

说明

1、Spark版本:2.2.0
2、Spark下载的地址:http://spark.apache.org/downloads.html
3、Spark下载的类型:源码、编译后的软件包等
4、Spark依赖的软件/软件包:
Linux(Centos 6.5)
Java(1.8+)
Scala(2.11.8)
Hadoop(2.7)
Maven(3.3.9 +)【非必须】
Python(2.7+/3.4+)
R(3.1+)

假设前提:
已经设置好了虚拟机;
完成了:Linux、Java、Hadoop、scala的安装

规划

3台设备,1个master、3个worker
Spark采用Standalone模式
在这里插入图片描述

安装

1、下载、解压缩;设置环境变量(所有设备)
下载软件(spark源码及安装包),解压缩
编辑.bash_profile文件(设置相应的环境变量)

2、编辑spark的配置文件(所有设备)
spark-defaults.conf、spark-env.sh、slaves、log4j.properties
路径:$SPARK_HOME/conf

3、启动spark服务,检查服务是否正常启动

4、spark的目录结构
在这里插入图片描述
5、测试(2个程序【WordCount、Pi】,3种方式)
spark-shell
run-example SparkPi 10
spark-submit --class org.apache.spark.examples.SparkPi ./examples/jars/spark-examples_2.11-2.2.0.jar 10

备注:
1、spark-submit --class 主类路径 jar包路径 程序输入参数(可能是多个)
这是最简单的方式,通常还会在这里设置相关的资源参数
2、spark-shell、run-example最终都是调用了spark-submit
3、我们提交spark任务都是使用spark-submit

配置

配置文件 spark-env.sh

export JAVA_HOME=/opt/modules/jdk1.8.0_144
export SPARK_MASTER_HOST=node1
export SPARK_WORKER_CORES=2
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

备注:
1、尽管曾经设置过JAVA_HOME,这里仍然要设,否则启动Spark服务时会报错
2、HADOOP_CONF_DIR,Hadoop配置文件的位置。如果有这一项spark-shell启动是会检查hadoop的相关配置(HDFS与spark没有必然的联系)
3、在不同的运行模式下,配置不同的选项。在spark-env.sh文件头部中有较为详细的说明,可以参考

配置文件 spark-defaults.conf

spark.master spark://node1:7077
spark.serializer org.apache.spark.serializer.KryoSerializer
spark.driver.memory 512m
spark.cores.max 6
在这里插入图片描述
备注:
1、这里是一个最简单的配置,适用于我们的测试环境。
2、spark.cores.max:为应用程序分配的最大CPU核心数。

配置文件 slaves、log4j.properties

slaves文件的作用和内容与hadoop中的完全一致。指定worker节点的主机,直接添加worker节点主机名即可。

log4j.properties.template改名为log4j.properties即可。

备注:
level是日志记录的优先级,分为:OFF,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,ALL
Log4j建议只使用四个级别,优先级从低到高分别是:DEBUG,INFO,WARN,ERROR

变量设置的优先级:
程序设置 > spark-submit --选项 > spark-defaults.conf 配置 >
spark-env.sh配置 > 默认值
Spark服务启停命令
1、在主节点启动所有服务(包括slave节点,需要做免密码登录)
start-all.sh stop-all.sh
与hadoop的命令有冲突,需要调整

2、逐一启动主节点、从节点(在不同的节点上发指令)
start-master.sh | stop-master.sh
slave.sh spark://node1:7077

3、一次启停全部的从节点
start-slaves.sh | stop-slaves.sh

备注:
以上命令成对出现,有start一般就有stop

4、spark-daemon.sh
spark-daemon.sh start org.apache.spark.deploy.master.Master
spark-daemon.sh stop org.apache.spark.deploy.master.Master
spark-daemon.sh status org.apache.spark.deploy.master.Master
备注:很少使用

Spark安装检查

1、能在主从节点启动相应服务(启动后用jps检查)
start-dfs.sh / stop-dfs.sh
start-all.sh / stop-all.sh

2、spark的日志文件
缺省位置$SPARK_HOME/logs/

3、进入spark-shell,执行命令
spark-shell --master yarn-client
4、Web UI
http://node1:8080/
不要从windows的IE中连接linux主机查看。就在Linux环境中查看

5、run example
run-example SparkPi 10
需要启动hdfs、spark;同时检查二者的安装是否正确

猜你喜欢

转载自blog.csdn.net/qq_39429714/article/details/84332698