Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-2036

Mappers are not running locally

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.6.0
    • None

    Description

      I ran listscans in the Accumulo shell while running continuous verify on small cluster and almost not map task were running locally.

      I think ACCUMULO-1585 has broken mapper locality in 1.6.0-SNAPSHOT. Before that change Accumulo would always store IP addrs. Code like the following in o.a.a.c.client.mapreduce.AbstractInputFormat.getSplits() would translate IPs to hostnames.

             if (location == null) {
                InetAddress inetAddress = InetAddress.getByName(ip);
                location = inetAddress.getHostName();
                hostNameCache.put(ip, location);
              }
      

      In my case I configured Accumulo to use hostnames, but not fully qualified ones. So I think the above code was just passing the non-quallified hostname through. I suspected hadoop wanted FQDN and changed the code to the following and mappers ran locally. I need to confirm what hadoop is expecting. I think the above code will result in a FQDN if given an IP, so this is not an issue for 1.4 or 1.5.

             if (location == null) {
                InetAddress inetAddress = InetAddress.getByName(ip);
                location = inetAddress.getCanonicalHostName();
                hostNameCache.put(ip, location);
              }
      

      Attachments

        Issue Links

          Activity

            People

              elserj Josh Elser
              kturner Keith Turner
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: