AFAIK,需要无密码的ssh,以便主节点可以在每个从节点上启动守护进程。除此之外,是否有任何使用无密码ssh的Hadoop操作?
用户代码jar和数据块如何跨从属节点传输?我想知道所使用的机制和协议。
无密码SSH只应配置为主 - 从对,甚至是奴隶之间的配置吗?
答案 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中运行时 分布式环境,沟通太频繁。作业跟踪器应该能够快速地将任务发送到任务跟踪器。