问题
为防止因为虚拟机内存过少,进程被杀死,需要关闭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
--指定lzojar包的位置