为啥我们需要 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-13-root ssh无密码登陆

CentOS配置ssh无密码登录

hadoop ssh localhost无密码登录

学习笔记Hadoop—— Hadoop集群的安装与部署—— 配置ssh无密码登录

Linux:实现Hadoop集群Master无密码登录(SSH)各个子节点

SSH无密码登录及SCP