Spark Yarn部署时注意点

问题

为防止因为虚拟机内存过少,进程被杀死,需要关闭yarn的内存检测

yarn-site.xml

<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>
<!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>

配置日志服务和连接yarn

spark-env.sh

--指向yarn的配置文件所在目录
HADOOP_CONF_DIR=/opt/module/hadoop-2.7.2/etc/hadoop
--日志服务配置
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=hdfs://hadoop102:9000/spark-job-log"

spark-default.conf

spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://hadoop102:9000/spark-job-log

hdfs://hadoop102:9000/spark-job-log 目录必须提前存在, 名字随意

yarn历史服务器界面无法直接跳转到spark的历史服务界面

spark-default.conf

spark.yarn.historyServer.address=hadoop102:18080
spark.history.ui.port=18080

spark确实Lzo等jar包报错

spark-default.conf

spark.jars=/opt/module/hadoop-2.7.2/share/hadoop/common/hadoop-lzo-0.4.20.jar

相关推荐