通过SPARK的8080端口获取SPARK集群状态以及应用运行情况
一开始用postman得到的信息里,Applications一栏中,Running与Completed都为0,一开始查资料以为是只有通过spark-submit命令呈递的任务才会在applications列表中被记录,但是用含有spark-submit命令的任务测试了一下,依然没有记录。
解决办法:配置history-server,在master节点的/opt/spark/conf/spark-env.sh中添加
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retaineApplication=3-Dspark.history.fs.logDirectory=hdfs://master:9000/directory"
在/spark/conf文件夹里的spark-defaults.conf文件里添加:
spark.eventLog.enabled true
spark.eventLog.dir hdfs://master:9000/directory
spark.eventLog.compress true
hdfs://master:9000/directory文件夹必须新建,否则重启start-history-server服务时会报错
重启start-history-server.sh
命令也必须用这种格式:
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://qh-r2-large-8-r2-large-master-0:7077 examples/jars/spark-examples_2.11-2.0.0.jar