我想知道是否可以安装“后台”hadoop集群。我的意思是,毕竟它意味着能够处理有时不可用或缓慢的节点。临时挂起hadoop节点 - 后台hadoop集群
因此,假设某所大学设有计算机实验室。比方说,100个盒子都装有高档桌面硬件,千兆以太网,甚至可能是相同的软件安装。 Linux在这里也很受欢迎。
但是,这100个盒子当然是学生桌面系统。有些时候实验室将会是满的,但也有时候实验室是空的。用户数据大多存储在中央存储设备上 - 比如说NFS--因此本地磁盘使用量不大。
听起来对我来说,在空闲时间将系统用作Hadoop集群是个好主意。最简单的设置当然是有一个cron作业在晚上启动集群,并在早上关闭。然而,在白天,许多计算机也将被闲置。
但是,Hadoop会如何对例如节点在任何用户登录时关闭?是否可以轻松地“暂停”(抢占!)hadoop中的节点,并在需要时将其移动到交换位置?理想情况下,我们会让Hadoop有机会在暂停任务之前移除计算(也释放内存)。如何做这样的设置?有没有办法向Hadoop发信号通知节点将被暂停?
据我所知,datanodes不应停止,也许复制需要增加到有超过3个副本。使用YARN还可能存在一个问题,即通过将任务跟踪器移动到任意节点,它可能会在某个时间点被暂停。但也许可以控制,有一小部分节点始终处于打开状态,并且会运行任务跟踪器。
只适用于stop
tasktracker
或发送SIGSTOP
(然后用SIGCONT
恢复)?第一个可能会让hadoop有机会作出反应,第二个会在用户很快退出时继续更快(因为工作可以继续)。 YARN怎么样?
那么,90%的时间可用的100个节点仍然意味着它会带来一些额外的好处,我想。但显然这不是保证响应时间的完美设置。但也许可以让学生在没有购买大量额外硬件的情况下进行实验。 –
在学生操场的情况下,这种设置将起作用。我试图描述在杀掉tasktracker的情况下会发生什么。我建议不要打扰NFS,只是不要停止datanode。 – octo