【问题标题】:How can I troubleshoot a network related (hadoop) application issue?如何解决与网络相关的 (hadoop) 应用程序问题?
【发布时间】:2011-10-31 03:51:21
【问题描述】:

大家好,我在使用 Hadoop 集群时遇到了一些网络问题,我想我需要了解一些基本的提示和技巧,以加快我找出应用程序无法运行的原因。

以下是我的 4 个基本网络问题:

1) 如何使用 netstat 找出哪些端口是开放的?

2) 端口“打开”与“关闭”是什么意思?

3) 我如何知道哪些端口(打开的端口)连接到哪些应用程序(按名称)?

4) 我如何找出哪些 java 应用程序连接到哪些端口?

上下文:我有一个虚拟机,在 hadoop 中 - 我的 java 程序试图从 hdfs 写入/读取似乎看不到,或者无法通过 hftp 访问 hdfs(相关问题在这里 How can I access hadoop via the hdfs protocol from java? )。

【问题讨论】:

  • 你运行的是什么操作系统?
  • OS X,连接到同一台机器上的 LINUX 虚拟机实例。

标签: java linux network-programming hadoop


【解决方案1】:

列出所有正在侦听的端口(您可以使用 telnet 连接到它们):

  1. netstat -nap | grep LISTEN

  2. 此处打开可能意味着某个进程正在侦听该端口中的连接。

  3. netstat -nap | grep LISTEN 在一列中列出进程 ID。

  4. 然而,所有 java 进程仅将 java 显示为主机进程(它们不显示它们正在运行的 Java 应用程序)。如果您想查看正在运行的 Java 应用程序进程,您可以执行ps -aux | grep XXX,其中 XXX 是进程 ID。

【讨论】:

  • 671有什么意义?
  • @jayunit100 “...其中 671 是进程 ID”。我只是将它用作进程 ID (PID) 的示例。
  • netstat -nap 似乎不适用于 OS X。有什么建议吗?
  • jayunit100:这些是用于 Linux 的,但我认为它们对于 OS X 也是一样的。至少应该是类似的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-05
相关资源
最近更新 更多