7.4. 环境变量

环境变量

通过环境变量配置确定的Spark设置。环境变量从Spark安装目录下的conf/spark-env.sh脚本读取(或者windows的conf/spark-env.cmd)。在独立的或者Mesos模式下,这个文件可以给机器 确定的信息,如主机名。当运行本地应用程序或者提交脚本时,它也起作用。

注意,当Spark安装时,conf/spark-env.sh默认是不存在的。你可以复制conf/spark-env.sh.template创建它。

可以在spark-env.sh中设置如下变量:

Environment Variable Meaning
JAVA_HOME Java安装的路径
PYSPARK_PYTHON PySpark用到的Python二进制执行文件路径
SPARK_LOCAL_IP 机器绑定的IP地址
SPARK_PUBLIC_DNS 你Spark应用程序通知给其他机器的主机名

除了以上这些,Spark standalone cluster scripts也可以设置一些选项。例如 每台机器使用的核数以及最大内存。

因为spark-env.sh是shell脚本,其中的一些可以以编程方式设置。例如,你可以通过特定的网络接口计算SPARK_LOCAL_IP

配置Logging

Spark用log4j logging。你可以通过在conf目录下添加log4j.properties文件来配置。一种方法是复制log4j.properties.template文件。