现在EMR支持缩小EMR上的核心节点,如果我创建一个EMR集群,其中一个核心节点作为spot实例。当现货价格超过我的核心节点的出价时会发生什么?它会优雅地解除这个核心节点吗?
以下是Amazon对减少核心节点数量的过程的描述:
在核心节点上,为使实例组收缩,必须同时解除纱线NodeManager和HDFS DataNode守护进程。对于纱线,优雅收缩确保标记为退役的节点只有在没有挂起或不完整的容器或应用程序时才转换到退役状态。如果在退役开始时节点上没有正在运行的容器,则退役立即结束。 对于HDFS,优雅的收缩确保HDFS的目标容量足够大,足以适应所有现有块。如果目标容量不够大,则只退役一部分核心实例,以便剩余节点能够处理驻留在HDFS中的当前数据。您应该确保更多的HDFS容量,以允许进一步的退役。在尝试缩小实例组之前,还应该尽量减少写I/O,因为这可能会延迟调整大小操作的完成。 另一个限制是默认的复制因子,dfs.replication在/etc/hadoop/conf/hdfs-site中。Amazon根据集群中的实例数配置值:一个实例为1-3个实例,两个实例为具有4-9个实例的集群,三个用于具有10+实例的集群。优雅收缩不允许在HDFS复制因子以下收缩核心节点;这是为了防止HDFS由于副本不足而无法关闭文件。要避免这一限制,您必须降低复制因子并重新启动NameNode守护进程。
发布于 2016-01-19 20:55:14
我认为,在现货价格飙升的情况下(一般情况下有N个核心节点),可能不可能优雅地解除节点。在现货实例因价格飙升而被移除之前,可能有2分钟的通知。即使捕获了,这个时间段也不足以保证HDFS数据的分解。
此外,集群中只有一个核心节点,因此退役没有多大意义。集群中保存的数据需要移动到其他节点,在这种情况下,这些节点是不可用的。一旦丢失了唯一可用的核心节点,就需要找到一种返回的方法,否则集群将无法运行任何任务。
无耻的塞子:):我为库布尔工作!
下面的2篇博客文章可能有助于将Spot实例与Hadoop集群集成,包括处理现货价格飙升。
https://www.qubole.com/blog/product/riding-the-spotted-elephant https://www.qubole.com/blog/product/rebalancing-hadoop-higher-spot-utilization
https://stackoverflow.com/questions/34793376
复制相似问题