【问题标题】:Does java api for hadoop writing require SSH?用于hadoop编写的java api是否需要SSH?
【发布时间】:2011-10-04 03:17:18
【问题描述】:

大家好:我正在尝试设置对远程单节点hadoop实例的写入(远程,因为它在我的机器上运行在VM中)......

但是我收到以下错误(不断尝试重新连接但不能)。

11/10/03 23:03:08 INFO ipc.Client:重试连接到服务器: /132.11.665.103:8020。已经尝试了 7 次。

我是否必须为我的 java 代码设置无密钥 ssh 才能打开远程 hadoop 文件服务器的输入流?

【问题讨论】:

  • 您在 core-site.xml 文件中提到的 IP 132.11.665.103:8020 是否正确?
  • 不,为了安全,我更改了#s。为什么 core-site.xml 文件很重要? hadoop 内部没有失败……它是无法连接的客户端。在我的虚拟机中,我可以对数据进行正常的 hadoop 操作,例如复制/导入文件。
  • 我的意思是,无论你得到什么IP,它和你在core-site.xml中提到的一样吗?只是为了确认是否选择了正确的 core-site.xml 文件
  • 为什么core-site.xml需要ip地址?
  • 客户端使用 core-site.xml 找出寻找 HDFS 的位置

标签: java ssh hadoop


【解决方案1】:

它认为NameNode 不存在。您的core-site.xml 配置不正确,因为没有指向正确的NameNode,或者您的NameNode 尚未启动。我找到了this resource,我相信它描述了你的问题。

Hadoop 的大部分内部通信都是通过纯 HTTP 完成的,所以我想不出可能涉及 SSH 的原因。

【讨论】:

  • 否:这不会发生在名称节点上。 HDFS 在我的虚拟机中运行良好。问题是,vm(在另一个 IP 地址)之外的客户端无法写入 hdfs。在内部,hdfs 工作正常,我可以对文本文件进行简单的写入和 mvs
【解决方案2】:

您还可以检查以下几项。

  • 查看您是否能够从主机 ping 到访客。
  • 检查访客的防火墙设置。
  • 检查名称节点端口号(8020)是否正确。
  • 对客户机执行 netstat 并查看 8020 是否打开。

当您尝试连接到名称节点时会抛出 SocketTimeoutException。

【讨论】:

  • 我运行了这个命令,结果是在 8020 上建立了连接……不知道是什么意思
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-15
  • 1970-01-01
  • 2019-10-22
  • 2020-03-14
相关资源
最近更新 更多