官网
https://spark.apache.org/
# spark版本文档列表
https://spark.apache.org/docs/
# 查看指定版本文档
https://spark.apache.org/docs/2.4.7/
# 配置查看历史日志
https://spark.apache.org/docs/2.3.4/monitoring.html
# 下载安装包
https://spark.apache.org/downloads.html
spark独立集群部署
环境准备
准备4台机器部署spark(node1、node2、node3、node4)(1主3从)
环境具备hadoop(用户保存历史日志,否则可不用)
jdk:1.8.xxx
节点之间免密
配置环境变量
export SPARK_HOME=/bigdata/spark-2.3.4-bin-hadoop2.7
配置从节点$SPARK_HOME/conf/slaves
node2
node3
node4
配置$SPARK_HOME/conf/spark-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
SPARK_MASTER_HOST=node1 # 主节点名称
SPARK_MASTER_PORT=7077 # 主节点端口
SPARK_MASTER_WEBUI_PORT=8080 # web UI访问的默认端口
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://node1:9000/sparkStandaloneLogDir
-Dspark.history.retainedApplications=30"
$SPARK_HOME/conf/spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://node:9000/sparkStandaloneLogDir
# HDFS上的目录sparkStandaloneLogDir需要提前存在
所用节点保持配置相同,在node1主节点启动
sbin/start-all.sh
sbin/stop-all.sh
/sbin/start-history-server.sh
/sbin/stop-history-server.sh
spark命令端访问集群
bin/spark-shell --master spark://node01:7077,node02:7077
scala>sc.textFile("hdfs://mycluster/testdata.txt").flatMap(_.split(" ")).map(Tuple2(_,1)).reduceByKey(_+_).collect().foreach(println)
//方法:collect()会把各个节点的计算数据汇总到这个节点来打印输出
访问
# hadoop UI
http://node01/9870
# hadoop resourceManager UI
http://node01/8088
# spark UI
http://node01/8080
# spark Job UI
http://node01/4040
# spark History UI
http://node01/18080