设置此文件后,可以使用以下shell脚本启动或停止群集,这些脚本基于Hadoop的部署脚本,并在SPARK_HOME/sbin以下位置提供:
sbin/start-master.sh - 在执行脚本的机器上启动主实例。
sbin/start-slaves.sh- 在conf/slaves文件中指定的每台计算机上启动从属实例。
sbin/start-slave.sh - 在执行脚本的机器上启动从属实例。
sbin/start-all.sh - 如上所述,启动主设备和多个从设备。
sbin/stop-master.sh- 停止通过sbin/start-master.sh脚本启动的主服务器。
sbin/stop-slaves.sh- 停止conf/slaves文件中指定的计算机上的所有从属实例。
sbin/stop-all.sh - 如上所述停止主站和从站。
Spark 常见的配置
环境变量 | 含义 |
SPARK_MASTER_HOST | 将主服务器绑定到特定的主机名或IP地址,例如公共主机名或IP地址。 |
SPARK_MASTER_PORT | 在另一个端口上启动主服务器(默认值:7077)。 |
SPARK_MASTER_WEBUI_PORT | 主Web UI的端口(默认值:8080)。 |
SPARK_MASTER_OPTS | 仅以“-Dx = y”形式应用于主服务器的配置属性(默认值:无)。请参阅下面的可能选项列表。 |
SPARK_LOCAL_DIRS | 用于Spark中“临时”空间的目录,包括存储在磁盘上的映射输出文件和RDD。这应该位于系统中的快速本地磁盘上。它也可以是不同磁盘上多个目录的逗号分隔列表。 |
SPARK_WORKER_CORES | 允许Spark应用程序在计算机上使用的核心总数(默认值:所有可用核心)。 |
SPARK_WORKER_MEMORY | 的存储器总量以允许Spark应用程序在计算机上,例如使用1000m,2g(默认值:总内存减去1 GB); 请注意,每个应用程序的单个内存都使用其spark.executor.memory属性进行配置。 |
SPARK_WORKER_PORT | 在特定端口上启动Spark worker(默认值:random)。 |
SPARK_WORKER_WEBUI_PORT | 工作者Web UI的端口(默认值:8081)。 |
SPARK_WORKER_DIR | 用于运行应用程序的目录,其中包括日志和暂存空间(默认值:SPARK_HOME / work)。 |
SPARK_WORKER_OPTS | 仅适用于“-Dx = y”形式的工作线程的配置属性(默认值:无)。请参阅下面的可能选项列表。 |
SPARK_DAEMON_MEMORY | 要分配给Spark主服务器和工作服务器守护程序的内存(默认值:1g)。 |
SPARK_DAEMON_JAVA_OPTS | Spark主服务器和工作服务器守护程序本身的JVM选项,格式为“-Dx = y”(默认值:无)。 |
SPARK_DAEMON_CLASSPATH | Spark主服务器和工作服务器守护程序本身的类路径(默认值:无)。 |
SPARK_PUBLIC_DNS | Spark主服务器和工作服务器的公有DNS名称(默认值:无)。 |
SPARK_MASTER_OPTS支持以下系统属性:
物业名称 | 默认 | 含义 |
spark.deploy.retainedApplications | 200 | 要显示的已完成应用程序的最大数量。旧的应用程序将从UI中删除以维持此限制。 |
spark.deploy.retainedDrivers | 200 | 要显示的已完成驱动程序的最大数量。较旧的驱动程序将从UI中删除以维持此限制。 |
spark.deploy.spreadOut | 真正 | 独立集群管理器是应该跨节点扩展应用程序还是尝试将它们合并到尽可能少的节点上。对于HDFS中的数据位置,扩展通常更好,但对于计算密集型工作负载,整合更有效。 |
spark.deploy.defaultCores | (无穷) | 如果未设置,则在Spark的独立模式下为应用程序提供的默认核心数spark.cores.max。如果未设置,应用程序始终会获得所有可用内核,除非它们spark.cores.max自行配置 在共享群集上将此值设置得较低,以防止用户默认抓取整个群集。 |
spark.deploy.maxExecutorRetries | 10 | 限制独立集群管理器删除故障应用程序之前可能发生的最大背靠背执行程序故障数。如果应用程序有任何正在运行的执行程序,则永远不会删除它。如果某个应用程序spark.deploy.maxExecutorRetries连续遇到多个 故障,那么没有执行程序成功开始在这些故障之间运行,并且该应用程序没有正在运行的执行程序,那么独立集群管理器将删除该应用程序并将其标记为失败。要禁用此自动删除,请设置spark.deploy.maxExecutorRetries为 -1。 |
spark.worker.timeout | 60 | 独立部署主机在没有收到心跳时认为工作人员丢失的秒数。 |
SPARK_WORKER_OPTS支持以下系统属性:
物业名称 | 默认 | 含义 |
spark.worker.cleanup.enabled | 假 | 启用定期清理worker / application目录。请注意,这仅影响独立模式,因为YARN的工作方式不同。仅清除已停止的应用程序的目录。 |
spark.worker.cleanup.interval | 1800(30分钟) | 控制工作人员在本地计算机上清理旧应用程序工作目录的时间间隔(以秒为单位)。 |
spark.worker.cleanup.appDataTtl | 604800(7天,7 * 24 * 3600) | 在每个worker上保留应用程序工作目录的秒数。这是一个生存时间,应该取决于拥有的可用磁盘空间量。应用程序日志和jar将下载到每个应用程序工作目录。随着时间的推移,工作目录可以快速填满磁盘空间,特别是如果经常运行作业。 |
spark.storage.cleanupFilesAfterExecutorExit | 真正 | 在执行程序退出后启用工作目录的清理非随机文件(例如临时随机块,缓存的RDD /广播块,溢出文件等)。请注意,这与`spark.worker.cleanup.enabled`不重叠,因为这可以清除死执行程序的本地目录中的非shuffle文件,而`spark.worker.cleanup.enabled`可以清除所有文件停止和超时应用程序的/子目录。这仅影响独立模式,将来可以添加对其他集群管理器的支持。 |
spark.worker.ui.compressedLogFileLengthCacheSize | 100 | 对于压缩日志文件,只能通过解压缩文件来计算未压缩文件。Spark缓存压缩日志文件的未压缩文件大小。此属性控制缓存大小。 |