我想知道是否可以安装“后台”hadoop 集群。我的意思是,毕竟它意味着能够处理节点不可用或有时很慢。
所以假设一些大学有一个计算机实验室。比如说,100 个盒子,全部配备高档桌面硬件、千兆以太网,甚至可能安装相同的软件。Linux 在这里也很受欢迎。
但是,这 100 个盒子当然是为学生准备的桌面系统。有时实验室会满员,但有时实验室会空着。用户数据主要存储在中央存储设备上——比如 NFS——因此本地磁盘的使用并不多。
对我来说,在空闲时间将系统用作 Hadoop 集群听起来是个好主意。最简单的设置当然是让一个 cron 作业在晚上启动集群,然后在早上关闭。但是,白天也有许多计算机未使用。
但是,当任何用户登录时,Hadoop 将如何对节点关闭等做出反应?是否可以轻松地“暂停”(抢占!)hadoop 中的节点,并在需要时将其移动到交换位置?理想情况下,我们会给 Hadoop 一个在暂停任务之前转移计算的机会(也可以释放内存)。如何进行这样的设置?有没有办法向 Hadoop 发出一个节点将被挂起的信号?
据我所知,不应停止数据节点,并且可能需要将复制增加到 3 个以上。使用 YARN 还可能存在一个问题,即通过将任务跟踪器移动到任意节点,它可能会在某个时候被挂起。但也许可以控制有一小组节点始终处于打开状态,并且将运行任务跟踪器。
只发送或发送(然后用 恢复)stop
是否合适?第一个可能会让 hadoop 有机会做出反应,第二个会在用户很快注销时继续更快(因为工作可以继续)。纱线怎么样?tasktracker
SIGSTOP
SIGCONT