当前位置: 首页 > 知识库问答 >
问题:

Apache Hadoop 2.7.3,套接字超时错误

谯英彦
2023-03-14

我有相同的问题,在下面的链接。

Hadoop,套接字超时错误

你能帮我解决这个问题吗,我在Apache Hadoop 2.7.3 EC2安装上也有同样的问题。链接中提到的属性是否需要添加到名称和数据节点配置文件中?如果是,什么都是. xmls?提前谢谢。

此外,应用程序正在尝试访问EC2上的内部ip,错误如下,是否需要打开任何端口?在Web UI上显示8042。

显示所有节点以及节点管理器和资源管理器(RM)都在jps上运行。

尝试运行map reduce示例时,Namenode出现以下错误:

作业job_1506038808044_0002失败,状态FAILED,原因是:应用程序application_1506038808044_0002失败2次,原因是启动错误appattempt_1506038808044_0002_000002。获得异常:org.apache.hadoop.net.ConnectTimeoutException:从ip-172-31-1-10/172.31.1.10到ip-172-31-5-59.ec2.internal:43555的调用在套接字超时异常时失败:org.apache.hadoop.net.ConnectTimeoutException:等待通道准备好连接时20000毫秒超时。ch:java.nio.channels.SocketChannel[连接挂起的远程=ip-172-31-5-59.ec2.internal/172.31.5.59: 43555]

最后,RM web UI在作业运行期间始终显示以下消息:

状态:等待AM容器被分配、启动并注册到RM。

谢谢,阿莎

共有1个答案

鱼志学
2023-03-14

在尝试了Hadoop上的解决方案Socket Timeout Error(我问题中的链接)并将以下内容添加到hdfs-site.xml文件后,通过允许所有ICMP和UDP规则到ec2实例,以便它们可以在彼此之间ping,问题得到了解决。

<property>
  <name>dfs.namenode.name.dir</name>
  <value>/usr/local/hadoop/hadoop_work/hdfs/namenode</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/usr/local/hadoop/hadoop_work/hdfs/datanode</value>
</property>
<property>
  <name>dfs.namenode.checkpoint.dir</name>
  <value>/usr/local/hadoop/hadoop_work/hdfs/namesecondary</value>
</property>
<property>
  <name>dfs.block.size</name>
  <value>134217728</value>
</property>
<property>
  <name>dfs.client.use.datanode.hostname</name>
  <value>true</value>
</property>
<property>
  <name>dfs.datanode.socket.write.timeout</name>
  <value>2000000</value>
</property>
<property>
  <name>dfs.socket.timeout</name>
  <value>2000000</value>
</property>

<property>
  <name>dfs.datanode.use.datanode.hostname</name>
  <value>true</value>
  <description>Whether datanodes should use datanode hostnames when
    connecting to other datanodes for data transfer.
  </description>
</property>

<property>
  <name>dfs.namenode.rpc-bind-host</name>
  <value>0.0.0.0</value>
  <description>
    The actual address the RPC server will bind to. If this optional address is
    set, it overrides only the hostname portion of dfs.namenode.rpc-address.
    It can also be specified per name node or name service for HA/Federation.
    This is useful for making the name node listen on all interfaces by
    setting it to 0.0.0.0.
  </description>
</property>

<property>
  <name>dfs.namenode.servicerpc-bind-host</name>
  <value>0.0.0.0</value>
  <description>
    The actual address the service RPC server will bind to. If this optional address is
    set, it overrides only the hostname portion of dfs.namenode.servicerpc-address.
    It can also be specified per name node or name service for HA/Federation.
    This is useful for making the name node listen on all interfaces by
    setting it to 0.0.0.0.
  </description>
</property>

<property>
  <name>dfs.namenode.http-bind-host</name>
  <value>0.0.0.0</value>
  <description>
    The actual address the HTTP server will bind to. If this optional address
    is set, it overrides only the hostname portion of dfs.namenode.http-address.
    It can also be specified per name node or name service for HA/Federation.
    This is useful for making the name node HTTP server listen on all
    interfaces by setting it to 0.0.0.0.
  </description>
</property>

<property>
  <name>dfs.namenode.https-bind-host</name>
  <value>0.0.0.0</value>
  <description>
    The actual address the HTTPS server will bind to. If this optional address
    is set, it overrides only the hostname portion of dfs.namenode.https-address.
    It can also be specified per name node or name service for HA/Federation.
    This is useful for making the name node HTTPS server listen on all
    interfaces by setting it to 0.0.0.0.
  </description>
</property>
 类似资料:
  • 问题内容: 我想将数据发送到服务器,然后等待一分钟,然后关闭套接字。 怎么做? 问题答案: 你可以试试看 根据您的情况更改套接字的超时!此代码将发送一条消息,然后等待接收消息,直到达到超时!

  • 在套接字最终接受另一端消失的情况下,什么指定了这个超时?是操作系统(Ubuntu 11.04),还是来自TCP/IP规范,还是套接字配置选项?

  • 如果主机名是正确的,但没有套接字服务器侦听端口,这行可能会在引发异常前几分钟工作。我可以设置通信超时吗?此外,是否可以停止此进程-目前它不响应AsyncTask.Cancel调用。

  • 这是来自.properties得my DB配置: 这是config.xml: 实际上,我可以很容易地访问我们的本地web应用程序,并且可以在日志中看到到DB的连接跟踪,但对于批处理来说,情况并非如此。 在我有了这个之后: 有人帮忙吗?

  • 在Spring批处理中,对数据库的读写操作最多可完成31 000条记录。在31 000条记录之后,会出现以下异常: 即使我在Connection属性中引发了超时,我仍然会得到相同的异常。

  • 问题内容: 我创建了一个小型聊天程序,当客户端和服务器在同一台计算机(也可能是网络)上运行时,该程序可以完美运行。但是,一旦我尝试通过Internet连接到另一台计算机,套接字连接就会超时。这是由于防火墙/路由器等引起的吗? 以及如何通过互联网连接ServerSocket和套接字? 问题答案: 但是,一旦我尝试通过Internet连接到另一台计算机,套接字连接就会超时。这是由于防火墙/路由器等引起