在HPC集群队列中运行Hadoop作业

在HPC集群队列中运行Hadoop作业,hadoop,cluster-computing,yarn,hpc,slurm,Hadoop,Cluster Computing,Yarn,Hpc,Slurm,我正在运行一个带有传统资源管理器(SLURM)的小型HPC集群,供用户对其作业进行排队 我需要用户能够启动Hadoop作业,而无需相互干预 Hadoop 2.7自带了自己的资源管理器,因此让其守护进程与SLURM一起永久运行会导致可能的资源冲突。 我得到了Hadoop,即HDFS和Thread,在集群上运行良好,Terasort在两个datanode上的速度几乎是一个datanode的两倍。现在我想让其他用户安全地运行他们的Hadoop作业,请求他们需要的数据节点数量 有一个特殊的用户hduse

我正在运行一个带有传统资源管理器(SLURM)的小型HPC集群,供用户对其作业进行排队

我需要用户能够启动Hadoop作业,而无需相互干预

Hadoop 2.7自带了自己的资源管理器,因此让其守护进程与SLURM一起永久运行会导致可能的资源冲突。 我得到了Hadoop,即HDFS和Thread,在集群上运行良好,Terasort在两个datanode上的速度几乎是一个datanode的两倍。现在我想让其他用户安全地运行他们的Hadoop作业,请求他们需要的数据节点数量

有一个特殊的用户hduser启动所有Hadoop守护进程,它具有从管理节点到计算节点的无密码ssh访问。 普通用户只能通过ssh访问管理节点(SLURM使用Munge身份验证启动workers)

因此,问题是:

  • 在hduser启动所有守护进程之后,普通用户是否可以运行Hadoop作业

  • 是否可以告诉Thread nodemanager不要使用节点,除非用户以某种方式“锁定”它?然后将此节点仅用于该用户的作业?我的想法是,我可以通过SLURM设置和保持锁,让纱线完成其余的工作

  • 到目前为止,我希望避免向普通用户授予ssh计算节点或启动守护进程的权限,如本指南中所述: 但毕竟,

  • 你认为这仍然是最简单的方法吗

  • 你的目标函数是什么还不完全清楚。安全、高效、安全和易于实施似乎是相互矛盾的要求。感谢您的回复,易于实施是我目前最关心的问题。您的目标功能是什么还不完全清楚。安全、高效、安全和易于实施似乎是相互矛盾的要求。感谢您的回复,易于实施是我目前最关心的问题。