hadoop如何设置超时

1、HDFS写入过程中有两个超时设置: dfs.socket.timeout和 dfs.datanode.socket.write.timeout;

有些地方以为只是需要修改后面 的dfs.datanode.socket.write.timeout项就可以,其实看报错是READ_TIMEOUT。对应在hbase中的默认值如下:
  // Timeouts for communicating with DataNode for streaming writes/reads
  public static int READ_TIMEOUT = 60 * 1000;   //其实是超过了这个值
  public static int READ_TIMEOUT_EXTENSION = 3 * 1000;
  public static int WRITE_TIMEOUT = 8 * 60 * 1000;
  public static int WRITE_TIMEOUT_EXTENSION = 5 * 1000; //for write pipeline2. 修改配置文件
    所以找出来是超时导致的,所以在hadoop-site.xml[hdfs-site.xml]配置文件中添加如下配置:
   <property>
     <name>dfs.datanode.socket.write.timeout</name>
     <value>3000000</value>
   </property>

   <property>
     <name>dfs.socket.timeout</name>
     <value>3000000</value>
   </property>
</configuration>

0 个评论

要回复文章请先登录注册