Yarn框架下的系统部署

本文介绍了如何在Yarn框架下进行Hadoop和Spark的本地部署,包括修改配置文件、重启服务等步骤,并详细阐述了如何通过Yarn查看作业,包括在浏览器中查看、使用hadoop和spark提交任务,以及如何查阅Yarn的日志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用yarn部署hadoop和spark

使用Yarn本地部署Hadoop

修改配置文件

首先修改mapred-sit.xml文件:

cd /usr/local/hadoop/etc/hadoop
mv mapred-site.xml.template mapred-site.xml

54206786600

修改为:

<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

54206785472

修改配置文件yarn-site.xml

<configuration>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
		</property>
</configuration>

重新启动

start-dfs.shstart-yarn.sh命令启动hadoop和yarn:

54206797505

开启历史服务器,才能在Web中查看任务运行情况:

mr-jobhistory-daemon.sh start historyserver

再查看进程,多出NodeManager和ResourceManager两个进程:

54206813452

如果以后在伪分布式模式下启动Hadoop的时候不想启动Yarn,务必把配置文件mapred-site.xml重命名为mapred-site.xml.template

使用Yarn本地部署Spark

修改配置文件

cd /usr/local/spark/conf
vim spark-env.sh

添加:

export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop

这样Spark就可以跑在YARN上了,也没必要启动spark的master和slaves服务,因为是靠yarn进行任务调度,所以直接提交任务即可:

spark-shell --master yarn-client

提示ERROR,这是由于JAVA8的问题,具体参考这里

54206913078

首先需要关闭hadoop和yarn:

stop-dfs.sh
stop-yarn.sh

/usr/local/hadoop/etc/hadoop/目录下修改yarn-site.xml文件:

<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>

<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>

再次启动,成功:

54207031950

在shell中运行例子:

val textFile = sc.textFile("hdfs://localhost:9000/user/hadoop/input/k-means.dat")
textFile.first()

54207035245

成功!

使用yarn查看作业

在浏览器中查看

在浏览器中输入lcoalhost:8088,在yarn中查看任务:

54207100955

会发现spark的任务会提交到yarn,而无需启动master和slave节点。

使用hadoop提交

cd /usr/local/hadoop
hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep input output/yarn ‘dfs[a-z.]+’

54207126288

作业运行成功,在yarn中查看任务:

54207141656

但是,无论该任务是否成功,在yarn中查看,只能知道这个container是否运行完,因此,需要通过logs进行查看任务的具体运行情况。

使用spark提交

只需要在master节点中添加master即可,例如:

spark-submit  --class StuScore --master yarn StuScore-1.0.jar

注意:如果是自己编写的程序,不要在程序中将sparkcontext指定为local

查看yarn logs

yarn-env.sh中查看log的目录:

54207184629

默认目录在/usr/local/hadoop/logs里面:

54207281436

可以发现application的log都存放在里面,现在可以根据web上展示的applicationID选择需要查看的log

关于yarn的log,可参考这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值