spark2.4 on yarn高可用安装【基于Centos7.0】
1、首先,安装spark需要安装scala,这里不做陈述
2、下载spark,并上传到相应位置
3、解压spark
tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz -C /opt/module/
4、修改名字
mv spark-2.4.0-bin-hadoop2.7/ spark
5、进入spark安装目录下的conf文件夹
cd spark/conf/
6、修改配置文件名称
mv slaves.template slaves
mv spark-env.sh.template spark-env.sh
7、修改slave文件,添加work节点
vim slaves
hadoop102
hadoop103
hadoop104
8、修改spark-env.sh文件,添加配置
SPARK_MASTER_HOST=hadoop102
SPARK_MASTER_PORT=7077
YARN_CONF_DIR=/opt/module/hadoop-2.7.2/etc/hadoop
9、修改sbin目录下的spark-config.sh,文件中加入如下配置(如果不加入的话,启动的时候会报错JAVA_HOME not set)
export JAVA_HOME=XXXX
10、修改spark-default.conf文件(必须保证我们的hdfs上有历史日志的目录,否则无用)
hadoop fs -mkdir -p /logs
mv spark-defaults.conf.template spark-defaults.conf
vi spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://hadoop102:9000/logs
spark.yarn.historyServer.address=hadoop102:18080
spark.history.ui.port=18080
11、修改spark-env.sh文件(这个是用来配置历史服务器的,如果不想配置的话,可以去掉)
vi spark-env.sh
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080
-Dspark.history.retainedApplications=30
-Dspark.history.fs.logDirectory=hdfs://hadoop102:9000/logs"
12、分发spark(分发到每台节点)
xsync spark
13、启动spark、启动spark的历史服务
sbin/start-all.sh
sbin/start-history-server.sh
14、这样,我们简易版的spark已经配置完成,当然,我们可以再次配置spark-ha,还可以对我们spark的配置文件进行一定的优化
hadoop102:8080
Hadoop102:18080
15、如果我们要配置高可用的话
① zk正常安装并启动
②修改spark-env.sh文件添加如下配置
vi spark-env.sh
注释掉如下内容:
#SPARK_MASTER_HOST=hadoop102
#SPARK_MASTER_PORT=7077
添加上如下内容:
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop102,hadoop103,hadoop104 -Dspark.deploy.zookeeper.dir=/spark"
spark.master spark://hadoop102:7077
③分发配置文件、
xsync spark-env.sh
④在hadoop102上启动全部节点
sbin/start-all.sh
⑤在hadoop103上单独启动master节点
sbin/start-master.sh
⑥spark HA集群访问
/opt/module/spark/bin/spark-shell \
--master spark://hadoop102:7077,hadoop103:7077 \
--executor-memory 2g \
--total-executor-cores 2