Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-17333

DFSClient supports lazy resolution from hostname to IP.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Done
    • None
    • 3.4.1, 3.5.0
    • None

    Description

      Currently, when dfsclient is started, it will resolve all hosts of all namservices:
      at DFSUtilClient#getAddresses(conf, null, addressKey)
      at AbstractNNFailoverProxyProvider#getProxyAddresses(URI uri, String addressKey)
      If the current environment where the dfsClient is located causes resolution of host->ip to be very slow, the existing logic will undoubtedly take a long time when there are too many nameservices.

      Now, each dfsclient only needs the IPs of all namenodes of a certain nameservice at most. A better situation is that if the namenode selected by dfsclient for the first time can provide the required services normally, then the client only needs to know the IP of this namenode. Therefore, it is not necessary to resolve all namenodes of all nameservices in the configuration file, when dfsclient is started.

      This patch supports lazy resolution of host->ip, which will only be resolved when the host needs to be accessed.

      Attachments

        1. HDFS-17333.001.patch
          11 kB
          Jian Zhang

        Issue Links

          Activity

            People

              keepromise Jian Zhang
              keepromise Jian Zhang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: