我最近在学习 Amazon EMR,据我所知,EMR 集群让我们可以选择 3 个节点。
我问你们为什么 EMR 提供任务节点?hadoop 建议我们应该在同一个节点上安装 Datanode 守护进程和 Tasktracker 守护进程。亚马逊这样做背后的逻辑是什么?您可以将 S3 中的数据通过流传输到核心节点上的 HDFS,在 HDFS 上进行处理,而不是将数据从 HDFS 共享到任务节点,在这种情况下这会增加 IO 开销。因为就我在 hadoop 中的知识而言,TaskTrackers 运行在 DataNodes 上,DataNodes 具有用于该特定任务的数据块,那么为什么在不同的节点上有 TaskTracker 呢?