我正在开发一个解决方案,为Hadoop Yarn集群提供运行时资源。目的是在我们的应用程序中处理重峰。
我不是专家,我需要帮助才能批准/反对我的理解。
Hadoop YARN
此应用程序以群集模式运行。它提供资源管理(CPU和RAM)。 例如,一个应用程序就会要求完成一项工作。 Yarn处理请求并在Yarn集群上提供执行程序计算。
HDFS - 数据&执行人
数据不是通过执行程序共享的,因此必须将它们存储在文件系统中。就我而言:HDFS。这意味着我将不得不在新服务器(hadoop节点)中运行我的spark流应用程序的副本。
我不确定:
纱线群和HDFS不同,写在HDFS上不会写新的hadoop节点本地数据(因为它不是HDFS节点)。
由于我只会在火花流媒体应用程序中写入HDFS新数据,因此创建新应用程序应该不是问题。
安装/配置Hadoop& YARN,让它成为奴隶
修改dfs.include和mapred.include
在主机上:
这应该有用吗? refreshQueues听起来不是很有用,因为它似乎只处理进程队列。
我不确定正在运行的作业是否会增加它的容量。另一个想法是等待新的资源可用并提交一份新工作。
谢谢你的帮助