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

Balancer doesn't work with IPFailoverProxyProvider

    XMLWordPrintableJSON

Details

    • Reviewed

    Description

      Right now Balancer gets the NN URIs through DFSUtil#getNameServiceUris, which returns logical URIs in HA is enabled. If IPFailoverProxyProvider is used, Balancer will not be able to start.

      I think the bug is at DFSUtil#getNameServiceUris:

          for (String nsId : getNameServiceIds(conf)) {
            if (HAUtil.isHAEnabled(conf, nsId)) {
              // Add the logical URI of the nameservice.
              try {
                ret.add(new URI(HdfsConstants.HDFS_URI_SCHEME + "://" + nsId));
      

      Then if clause should also consider if the FailoverProxyProvider has useLogicalURI enabled. If not, getNameServiceUris should try to resolve the physical URI for this nsId.

      Attachments

        1. HDFS-10544.00.patch
          0.8 kB
          Zhe Zhang
        2. HDFS-10544.01.patch
          4 kB
          Zhe Zhang
        3. HDFS-10544.02.patch
          1 kB
          Zhe Zhang
        4. HDFS-10544.03.patch
          3 kB
          Zhe Zhang
        5. HDFS-10544.04.patch
          7 kB
          Zhe Zhang
        6. HDFS-10544.05.patch
          7 kB
          Zhe Zhang
        7. HDFS-10544-branch-2.7.patch
          8 kB
          Zhe Zhang

        Activity

          People

            zhz Zhe Zhang
            zhz Zhe Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: