Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-10576 DiskBalancer followup work items
  3. HDFS-10598

DiskBalancer does not execute multi-steps plan.

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 3.0.0-beta1
    • 3.0.0-alpha1
    • diskbalancer
    • None

    Description

      I set up a 3 DN node cluster, each one with 2 small disks. After creating some files to fill HDFS, I added two more small disks to one DN. And run the diskbalancer on this DataNode.

      The disk usage before running diskbalancer:

      /dev/loop0  3.9G  2.1G  1.6G 58%  /mnt/data1
      /dev/loop1  3.9G  2.6G  1.1G 71%  /mnt/data2
      /dev/loop2  3.9G  17M  3.6G 1%  /mnt/data3
      /dev/loop3  3.9G  17M  3.6G 1%  /mnt/data4
      

      However, after running diskbalancer (i.e., -query shows PLAN_DONE)

      /dev/loop0  3.9G  1.2G  2.5G 32%  /mnt/data1
      /dev/loop1  3.9G  2.6G  1.1G 71%  /mnt/data2
      /dev/loop2  3.9G  953M  2.7G 26%  /mnt/data3
      /dev/loop3  3.9G  17M  3.6G 1%   /mnt/data4
      

      It is suspicious that in DiskBalancerMover#copyBlocks, every return does this.setExitFlag which prevents copyBlocks() be called multiple times from DiskBalancer#executePlan.

      Attachments

        1. HDFS-10598.00.patch
          9 kB
          Lei (Eddy) Xu

        Issue Links

          Activity

            People

              eddyxu Lei (Eddy) Xu
              eddyxu Lei (Eddy) Xu
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: