Return-Path: X-Original-To: apmail-hadoop-user-archive@minotaur.apache.org Delivered-To: apmail-hadoop-user-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 336D011909 for ; Fri, 15 Aug 2014 11:16:08 +0000 (UTC) Received: (qmail 41052 invoked by uid 500); 15 Aug 2014 11:15:50 -0000 Delivered-To: apmail-hadoop-user-archive@hadoop.apache.org Received: (qmail 40940 invoked by uid 500); 15 Aug 2014 11:15:50 -0000 Mailing-List: contact user-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hadoop.apache.org Delivered-To: mailing list user@hadoop.apache.org Received: (qmail 40930 invoked by uid 99); 15 Aug 2014 11:15:49 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Aug 2014 11:15:49 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of harsh@cloudera.com designates 209.85.213.173 as permitted sender) Received: from [209.85.213.173] (HELO mail-ig0-f173.google.com) (209.85.213.173) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Aug 2014 11:15:24 +0000 Received: by mail-ig0-f173.google.com with SMTP id h18so1601774igc.0 for ; Fri, 15 Aug 2014 04:15:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=FIcnUsImr2V3GL86UPyOtbO6YUVZZ0EC/ALJFvnOC/U=; b=l8axPORTC1lMCgMu2uwgWJxs/SvN7c0cf8O0VYq12BPAYADKYyeZGH4HPaf2otMf9D 579zuiTYsAW2S45ezySHi2iKb8JXIUhTB3KKpNWazcapmUNN/zDkX+xz6ZbYHvLrISC1 IRlILbqg7dKtjQAVRNB/iroswm1oxBO9qEx4EJRQD8izV2sUno2bdLO3v7Bz8QBuk+uW 9eNqRSAjlRfB84ugCzbX72PmMBwWeRUZWjJfUWaomuLj6+hzQhPWMj1ix99rPAiwS0K+ yXtnvzxxk/HrZGd7xMQz9ep2gKKDlT6BuFNE9Ll9z793kWjHjAMo4ZNgDr78PTqYdyQ9 lN4w== X-Gm-Message-State: ALoCoQk5eDNr+dxw5qVoFkyIjTQf+M1ut1JBk65Q5Wf5BsW78sAws+Dy7ujeCZ+OkxCmqeQ2hESh X-Received: by 10.50.152.9 with SMTP id uu9mr64932396igb.32.1408101323121; Fri, 15 Aug 2014 04:15:23 -0700 (PDT) MIME-Version: 1.0 Received: by 10.50.240.47 with HTTP; Fri, 15 Aug 2014 04:15:02 -0700 (PDT) In-Reply-To: References: From: Harsh J Date: Fri, 15 Aug 2014 16:45:02 +0530 Message-ID: Subject: Re: hadoop/yarn and task parallelization on non-hdfs filesystems To: "" Content-Type: text/plain; charset=UTF-8 X-Virus-Checked: Checked by ClamAV on apache.org Does your non-HDFS filesystem implement a getBlockLocations API, that MR relies on to know how to split files? The API is at http://hadoop.apache.org/docs/stable2/api/org/apache/hadoop/fs/FileSystem.html#getFileBlockLocations(org.apache.hadoop.fs.FileStatus, long, long), and MR calls it at https://github.com/apache/hadoop-common/blob/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/input/FileInputFormat.java#L392 If not, perhaps you can enforce a manual chunking by asking MR to use custom min/max split sizes values via config properties: https://github.com/apache/hadoop-common/blob/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/input/FileInputFormat.java#L66 On Fri, Aug 15, 2014 at 10:16 AM, Calvin wrote: > I've looked a bit into this problem some more, and from what another > person has written, HDFS is tuned to scale appropriately [1] given the > number of input splits, etc. > > In the case of utilizing the local filesystem (which is really a > network share on a parallel filesystem), the settings might be set > conservatively in order not to thrash the local disks or present a > bottleneck in processing. > > Since this isn't a big concern, I'd rather tune the settings to > efficiently utilize the local filesystem. > > Are there any pointers to where in the source code I could look in > order to tweak such parameters? > > Thanks, > Calvin > > [1] https://stackoverflow.com/questions/25269964/hadoop-yarn-and-task-parallelization-on-non-hdfs-filesystems > > On Tue, Aug 12, 2014 at 12:29 PM, Calvin wrote: >> Hi all, >> >> I've instantiated a Hadoop 2.4.1 cluster and I've found that running >> MapReduce applications will parallelize differently depending on what >> kind of filesystem the input data is on. >> >> Using HDFS, a MapReduce job will spawn enough containers to maximize >> use of all available memory. For example, a 3-node cluster with 172GB >> of memory with each map task allocating 2GB, about 86 application >> containers will be created. >> >> On a filesystem that isn't HDFS (like NFS or in my use case, a >> parallel filesystem), a MapReduce job will only allocate a subset of >> available tasks (e.g., with the same 3-node cluster, about 25-40 >> containers are created). Since I'm using a parallel filesystem, I'm >> not as concerned with the bottlenecks one would find if one were to >> use NFS. >> >> Is there a YARN (yarn-site.xml) or MapReduce (mapred-site.xml) >> configuration that will allow me to effectively maximize resource >> utilization? >> >> Thanks, >> Calvin -- Harsh J