hadoop错误could only be replicated to > 0 nodes, instead of 1

新手上路,请多包涵

万能的sf 求指教hadoop的这个错误 org.apache.hadoop.ipc.RemoteException: java.io.IOException: File > /user/hadoop/testfiles/testfiles/file1.txt could only be replicated to > 0 nodes, instead of 1 困扰我好久了 任何办法 包括权限检查、顺序启动、hdfs格式化等都试过了 一直不行 反复配置还是不行 不知道大家有没碰到过

阅读 24k
1 个回答

从代码看,可能是楼主没有启动datanode,或者所有datanode都和namenode断连了。楼主可以去namenode的web页面看看。

chooseTarget方法是说从datanode中选择n个存储楼主的文件。

  /**
   * Choose target datanodes according to the replication policy.
   * 
   * @throws IOException
   *           if the number of targets < minimum replication.
   * @see BlockPlacementPolicy#chooseTarget(String, int, DatanodeDescriptor,
   *      List, boolean, HashMap, long)
   */
  public DatanodeDescriptor[] chooseTarget(final String src,
      final int numOfReplicas, final DatanodeDescriptor client,
      final HashMap<Node, Node> excludedNodes,
      final long blocksize) throws IOException {
    // choose targets for the new block to be allocated.
    final DatanodeDescriptor targets[] = blockplacement.chooseTarget(src,
        numOfReplicas, client, new ArrayList<DatanodeDescriptor>(), false,
        excludedNodes, blocksize);
    if (targets.length < minReplication) {
      throw new IOException("File " + src + " could only be replicated to "
          + targets.length + " nodes instead of minReplication (="
          + minReplication + ").  There are "
          + getDatanodeManager().getNetworkTopology().getNumOfLeaves()
          + " datanode(s) running and "
          + (excludedNodes == null? "no": excludedNodes.size())
          + " node(s) are excluded in this operation.");
    }
    return targets;
  }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进