我有 10 个 Amazon ec2 节点集群用于每天的数据处理,我想将所有 10 个节点用于每天的批处理(仅 2 小时处理(,一旦生成报告数据点,我想关闭 5 个节点,并在一天的剩余时间里只让 5 个节点处于活动状态,以优化成本。
我的复制因子为 3。
在某些情况下,所有 3 个数据块(实际和复制块(都存储在我正在关闭的 5 个节点中。因此,我无法正确读取数据。
我可以在 cloudera 管理器中进行一些设置以将特定数据库或特定表保存到给定节点中,这样我在只有 5 个节点处于活动状态的情况下读取数据就不会有任何问题。
或任何其他建议将不胜感激。
您可以使用机架感知(虚拟(将集群分成 2 个"机架",并将定期关闭的 5 个节点放在单独的"机架"上。复制策略将要求 NN 将副本放置在单独的机架上(如果已配置(。同样,我在这里指的是虚拟意义上的机架。这应该能让你得到你想要的。