CentOS7 部署Spark集群
一、安装JAVA
二、安装Hadoop集群
https://blog.csdn.net/williananjhon/article/details/89891900
三、安装Scala
(一)、下载Scala安装包
https://www.scala-lang.org/download/
(二)、安装Scala
1、解压到指定文件
mkdir 文件路径(mkdir /opt/Scala)
tar -zxvf scala-x.xx.x.tgz -C 新建的文件路径
(tar -zxvf scala-2.11.8.tgz -C /opt/Scala)
2、修改配置文件/etc/profile
vi /etc/profile
增加# SCALA_HOME
export SCALA_HOME=scala解压后的路径(pwd查看)
export PATH=$SCALA_HOME/bin:$PATH
3、是配置生效
source /etc/profile
scala -version
四、安装Spark
(一)、下载spark安装包
(二)、安装Spark
1、解压到指定文件
mkdir 文件路径(mkdir /opt/Spark)
tar -zxvf spark-x.x.x-bin-hadoop2.7.tgz -C 新建的文件路径
(tar -zxvf spark-x.x.x-bin-hadoop2.7.tgz -C /opt/Spark)
2、修改配置文件/etc/profile
vi /etc/profile
增加# SPARK_HOME
export SPARK_HOME=scala解压后的路径(pwd查看)
export PATH=$SPARK_HOME/bin:$PATH
3、是配置生效
source /etc/profile
五、Spark模式
(一)、local模式:spark-shell
使用spark-shell测试
(二)、Standalone模式
1、修改配置文件slaves.template
cd Spark路径/conf
cp slaves.template slaves
vi slaves 添加以下内容:
master
slavexx
··········
slavexx(看节点数量)
2、配置spark-env.sh
cp spark-env.sh.template spark-env.sh
vi spark-env.sh 添加以下内容:
# JAVA的路径
export JAVA_HOME=${JAVA_HOMRE}
# SCALA的路径
export SCALA_HOME=${SCALA_HOME}
#HADOOP的路径
export HADOOP_CONF_DIR=${HADOOP_HOME}
# master的ip或host
export SPARK_MASTER_IP=master主机名
# 提交任务的端口
export SPARK_MASTER_PORT=7077
# 浏览器访问master的端口
export SPARK_MASTER_WEBUI_PORT=8080
# 每个worker从节点能够支配的core的个数
export SPARK_WORKER_CORES=2
# 每个worker从节点能够支配的内存数
export SPARK_WORKER_MEMORY=内存大小
#每个worker
export SPARK_WORKER_PORT=7078
export SPARK_WORKER_WEBUI_PORT=8081
export SPARK_WORKER_INSTANCES=1
# 每个worker的数据存放
export
SPARK_WORKER_DIR=${SPARK_HOME}/data/tmp
#设定Spark executor的内存大小
export SPARK_EXECUTOR_MEMORY=1G
#设定Spark executor 使用的cpu的核的数量export SPARK_EXECUTOR_CORES=1
3、配置修改Spark-defaults.conf
cp spark-defaults.conf.template spark-defaults.conf
vi spark-defaults.conf 添加以下内容:
# 设置事件日志为true
spark.eventlog.enabled=true
# 设置记录删除时间
spark.history.fs.cleaner.interval=1d
spark.history.fs.cleaner.maxAge=7d
# 设定事件日志目录
spark.eventlog.dir hdfs://nn/user/spark/history
# 设定Driver的内存大小
spark.driver.memory 1g
# 设定历史操作日志操作保存路径
spark.history.fs.logDirectory hdfs://nn/usr/spark/history
# 设定仓库目录
spark.sql.warehouse.dir /user/spark/warehouse
(三)、Yarn模式
只需要在standalone模式的基础上,在客户端的spark-env.sh文件中配置
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
(四)、高可用
(1)在Spark Master节点上配置主Master,配置spark-env.sh
SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=node02:2181,node03:2181,node04:2181
-Dspark.deploy.zookeeper.dir=/var/hadoop/zk"
(2)发送到其他worker节点上
(3)找一台节点(非主Master节点)配置备用
Master,修改spark-env.sh配置节点上的HOST/MasterIP
export SPARK_MASTER_HOST=node02
(4)启动集群之前启动zookeeper集群:
(5)启动spark Standalone集群,启动备用Master
(6)打开主Master和备用Master WebUI页面,观察状态