为啥我们需要 Hadoop 无密码 ssh?
Posted
技术标签:
【中文标题】为啥我们需要 Hadoop 无密码 ssh?【英文标题】:Why do we need Hadoop passwordless ssh?为什么我们需要 Hadoop 无密码 ssh? 【发布时间】:2012-12-17 06:54:32 【问题描述】:AFAIK,需要无密码 ssh,以便主节点可以在每个从节点上启动守护进程。除此之外,Hadoop 的操作是否有无密码 ssh 的用途?
用户代码 jar 和数据块如何跨从节点传输?我想知道使用的机制和协议。
无密码的 SSH 应该只为主从对配置,甚至在从属之间配置?
【问题讨论】:
【参考方案1】:你是对的。如果 ssh 不是无密码的,您必须在每台机器上手动启动所有进程。 对于第二个问题,HDFS 中的所有通信都通过 TCP/IP 进行,并且使用 HTTP 进行数据移动。机制是这样的:
客户端建立到一个可配置的 TCP 端口的连接 NameNode 机器。它与 NameNode 对话 ClientProtocol。这 DataNode 使用 DataNode 协议与 NameNode 对话。遥控器 过程调用 (RPC) 抽象包装了客户端协议和 数据节点协议。
而对于第三个问题,从节点之间不需要无密码的ssh。
【讨论】:
【参考方案2】:第一个问题的答案:
Hadoop 核心使用 Shell (SSH) 在从节点上启动服务器进程。它需要master和所有slave以及从机之间的无密码SSH连接。
我们需要在完全分布式环境中使用无密码 SSH,因为当集群处于实时状态并在完全分布式环境中运行时 分布式环境,通讯过于频繁。作业跟踪器应该能够快速将任务发送到任务跟踪器。
【讨论】:
以上是关于为啥我们需要 Hadoop 无密码 ssh?的主要内容,如果未能解决你的问题,请参考以下文章
学习笔记Hadoop—— Hadoop集群的安装与部署—— 配置ssh无密码登录