zoukankan      html  css  js  c++  java
  • Spark集群之Spark history server额外配置

     Note:

          driver在SparkContext使用stop()方法后才将完整的信息提交到指定的目录,如果不使用stop()方法,即使在指定目录中产生该应用程序的目录,history server也将不会加载该应用程序的运行信息。

          在运行Spark应用程序的时候,driver会提供一个webUI给出应用程序的运行信息,但是该webUI随着应用程序的完成而关闭端口,也就是说,Spark应用程序运行完后,将无法查看应用程序的历史记录。Spark history server就是为了应对这种情况而产生的,通过配置,Spark应用程序在运行完应用程序之后,将应用程序的运行信息写入指定目录,而Spark history server可以将这些运行信息装载并以web的方式供用户浏览。 要使用history server,对于提交应用程序的客户端需要配置以下参数(在conf/spark-defaults.conf中配置):

     spark.eventLog.enabled:是否记录Spark事件,用于应用程序在完成后重构webUI。为 true

    spark.eventLog.dir :该属性为记录spark事件的根目录。在此根目录中,Spark为每个应用程序创建分目录,并将应用程序的事件记录到在此目录中。用户可以将此属性设置为HDFS目录,以便history server读取历史记录文件。

    spark.yarn.historyServer.address:Spark history server的地址(不要加http://)。这个地址会在Spark应用程序完成后提交给YARN RM,然后RM将信息从RM UI写到history server UI上。 

          相关配置如下:

    spark.eventLog.enabled           true
    spark.eventLog.dir               hdfs://hadoop1:9000/user/husor/sparklogs
    spark.yarn.historyServer.address    hadoop1:18080

          注意:可通过hadoop1:8080端口查看以前所以程序相关信息。

          而对于history server的服务端,可以配置以下环境变量:

          SPARK_DAEMON_MEMORY:分配给history server的内存大小,默认512m。

          SPARK_DAEMON_JAVA_OPTS:history server的JVM选择,默认为空。

          SPARK_PUBLIC_DNS:history server的公网地址,如果不设置,可以用内网地址来访问。默认为空。

          SPARK_HISTORY_OPTS:history server的属性设置,属性如下面所示。默认为空。

    属性名称 默认 含义
    spark.history.updateInterval 10 以秒为单位,多长时间history server显示的信息进行更新。每次更新都会检查持久层事件日志的任何变化。
    spark.history.retainedApplications 250 在history server上显示的最大应用程序数量,如果超过这个值,旧的应用程序信息将被删除。
    spark.history.ui.port 18080 history server的默认访问端口
    spark.history.kerberos.enabled false 是否使用kerberos方式登录访问history server,对于持久层位于安全集群的HDFS上是有用的。如果设置为true,就要配置下面的两个属性。
    spark.history.kerberos.principal 用于history server的kerberos主体名称
    spark.history.kerberos.keytab 用于history server的kerberos keytab文件位置
    spark.history.ui.acls.enable false 授权用户查看应用程序信息的时候是否检查acl。如果启用,无论应用程序的spark.ui.acls.enable怎么设置,都要进行授权检查,只有应用程序所有者和spark.ui.view.acls指定的用户可以查看应用程序信息;如果禁用,不做任何检查。
    driver在SparkContext使用stop()方法后才将完整的信息提交到指定的目录,如果不使用stop()方法,即使在指定目录中产生该应用程序的目录,history server也将不会加载该应用程序的运行信息。所以如果直接使用Spark1.0.0源代码/examples/src/main/python/pi.py,就无法显示其应用程序,在最后加上一行sc.stop()后,就可以显示。driver在SparkContext使用stop()方法后才将完整的信息提交到指定的目录,如果不使用stop()方法,即使在指定目录中产生该应用程序的目录,history server也将不会加载该应用程序的运行信息。所以如果直接使用Spark1.0.0源代码/examples/src/main/python/pi.py,就无法显示其应用程序,在最后加上一行sc.stop()后,就可以显示
  • 相关阅读:
    Linux strace命令
    Xilinx实习一年总结
    Red Hat Linux 挂载外部资源
    4.6、Libgdx线程介绍
    Xshell中文乱码怎么处理?
    C++之指针指向二维数组
    POJ 2996 Help Me with the Game
    UVa 10377
    你们都满足下面的工作考核吗
    使用Python编写简单网络爬虫抓取视频下载资源
  • 原文地址:https://www.cnblogs.com/likai198981/p/4137672.html
Copyright © 2011-2022 走看看