为什么我们需要Hadoop无密码ssh?

时间:2012-12-17 06:54:32

标签: hadoop mapreduce

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

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

  • 无密码SSH只应配置为主 - 从对,甚至是奴隶之间的配置吗?

2 个答案:

答案 0 :(得分:13)

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

  

客户端建立与可配置TCP端口的连接   NameNode机器。它将ClientProtocol与NameNode进行对话。该   DataNode使用DataNode协议与NameNode通信。远程   过程调用(RPC)抽象包装客户端协议和   DataNode协议。

对于第三个问题,没有必要在从属节点中使用无密码的ssh。

答案 1 :(得分:7)

回答第一个问题:

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

我们在完全分布式环境中需要无密码的SSH,因为当群集是LIVE并在Fully中运行时 分布式环境,沟通太频繁。作业跟踪器应该能够快速地将任务发送到任务跟踪器。