Hadoop:节点的概念及其工作机制

Hadoop: concept of nodes and its working mechanism

我刚开始研究 hadoop(基于 2.6.0),但仍然无法全面了解 hadoop 的物理和逻辑结构。

我找到的所有参考资料都使用术语 "node",例如 master/slave 节点和 name/data 节点,但我无法从中找到此类 "nodes" 的明确定义none 个。 (可能是我漏掉了细节...)

我想知道的是,master/slave "nodes" 是物理机器的术语,name/data "nodes" 是管理实际数据的进程的术语吗?

我的第二个问题是,这些节点如何相互通信?我所知道的是他们需要 ssh 进行通信,但仅此而已。如果我知道它们实际上是如何相互交流以了解其架构的,那将非常有帮助。

ps。网上有什么好的学习hadoop的参考资料吗?对我来说,hadoop 网站对像我这样的初学者来说太不友善了,到目前为止我发现的博客有时也没有什么信息。请分享一些好的资源!

are master/slave "nodes" the terms for physical machines and name/data "nodes" the terms for processes which manage actual data?

好吧,namenode datanode 等是 运行 在物理机器上的 hadoop 守护进程服务。因此,如果您的集群中的系统具有名称节点服务 运行ning,那么它称为名称节点。单个节点可以 运行 多个服务,即它可以 运行 名称节点和数据节点,尽管在生产设置中它没有完成,因为我们不想要 运行 的机器宁名称节点服务负担过重。由于您使用的是 hadoop 2.6,您可能还想查看 YARN architecture 以了解作业的执行方式

how such nodes communicate each other? What I know is that they need ssh for communication but no more than that.

看看this。 Datanode 使用 DatanodeProtocol to communicate with Namenode. This interface provides ability to send heartbeat messages, new datanode registration, block report etc. Client communicates with Datanode using DataTransferProtocol。该接口提供读块、写块、复制块等能力

Is there any good online reference to study hadoop?

看看 this and this - 可能与新架构略有不同,但仍然很好读。 bigdatauniversity 有很多初学者课程。