问题描述
运行Spark集群时(standalone 模式下)出现Can only call getServletHandlers on a running MetricsSystem报错。
原因&&方案
第一种:遇到这种报错可以先查看下集群的worker,如果集群的 worker 挂掉了,重启下就好了
第二种:配置搞错了,查看spark-env.sh和spark-defaults.conf 文件
spark-env.sh的默认配置,看下是哪个错了
export SPARK_MASTER_HOST=spark.master
export SPARK_MASTER_PORT=7077
spark-defaults.con的默认配置,看下是哪个错了
# Example:
# spark.master spark://master:7077
# spark.eventLog.enabled true
# spark.eventLog.dir hdfs://namenode:8021/directory
# spark.serializer org.apache.spark.serializer.KryoSerializer
# spark.driver.memory 5g
# spark.executor.extraJavaOptions -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"
第三种:上一条中的spark.master端口没开,或者防火墙没关,属于网络问题,仔细排查下就行了