16
  • AFAIK,需要无密码 ssh,以便主节点可以在每个从节点上启动守护进程。除此之外,Hadoop 的操作是否有无密码 ssh 的用途?

  • 用户代码 jar 和数据块如何跨从节点传输?我想知道使用的机制和协议。

  • 无密码 SSH 应该只为主从对配置,甚至在从属之间配置?

4

2 回答 2

14

你是对的。如果 ssh 不是无密码的,您必须在每台机器上手动启动所有进程。对于第二个问题,HDFS 中的所有通信都通过 TCP/IP 进行,并且使用 HTTP 进行数据移动。机制是这样的:

客户端与 NameNode 机器上的可配置 TCP 端口建立连接。它与 NameNode 对话 ClientProtocol。DataNode 使用 DataNode 协议与 NameNode 对话。远程过程调用 (RPC) 抽象包装了客户端协议和数据节点协议。

而对于第三个问题,从节点之间不必有无密码的 ssh。

于 2012-12-17T12:40:04.813 回答
9

回答第一个问题:

Hadoop 核心使用 Shell (SSH) 在从节点上启动服务器进程。它需要主机与所有从机和辅助机器之间的无密码 SSH 连接。

我们需要在全分布式环境中使用无密码 SSH,因为当集群处于 LIVE 状态并在全分布式环境中运行时,通信过于频繁。作业跟踪器应该能够快速将任务发送到任务跟踪器。

于 2013-12-09T17:55:52.827 回答