Okay, I guess MapRFS is protocol compatible with HDFS, but not
uri-compatible. I know the MapR guys have gotten MapR on Mesos working.
They may have more answers for you on how they accomplished this.

> why hard code the file prefixes?
We allow any uri, so we need to have handlers coded for each type of
protocol group, which so far includes hdfs/hftp/s3/s3n which use
hdfs::copyToLocal, or http/https/ftp/ftps which use net::download, or
file:// or an absolute/relative path for files pre-populated on the machine
(uses 'cp'). MapRFS (and Tachyon) would probably fit into the
hdfs::copyToLocal group so easily that it would be a one-line fix each.

> I really think the hdfs vs other prefixes should be looked at
I agree. Could you file a JIRA with your request? It should be an easy
enough change for us to pick up. I would also like to see Tachyon as a
possible filesystem for the fetcher.


On Fri, Aug 15, 2014 at 5:16 PM, John Omernik <[email protected]> wrote:

> I tried hdfs:/// and hdfs://cldbnode:7222/ Neither worked (examples below)
> I really think the hdfs vs other prefixes should be looked at. Like I said
> above, the tachyon project just added a env variable to address this.
>
>
>
> hdfs://cldbnode:7222/
>
> WARNING: Logging before InitGoogleLogging() is written to STDERR
> I0815 19:14:17.101666 22022 fetcher.cpp:76] Fetching URI 
> 'hdfs://hadoopmapr1:7222/mesos/hadoop-0.20.2-mapr-4.0.0.tgz'
> I0815 19:14:17.101780 22022 fetcher.cpp:105] Downloading resource from 
> 'hdfs://hadoopmapr1:7222/mesos/hadoop-0.20.2-mapr-4.0.0.tgz' to 
> '/tmp/mesos/slaves/20140815-103603-1677764800-5050-24315-2/frameworks/20140815-154511-1677764800-5050-7162-0003/executors/executor_Task_Tracker_5/runs/b3174e72-75ea-48be-bbb8-a9a6cc605018/hadoop-0.20.2-mapr-4.0.0.tgz'
> E0815 19:14:17.778833 22022 fetcher.cpp:109] HDFS copyToLocal failed: hadoop 
> fs -copyToLocal 'hdfs://hadoopmapr1:7222/mesos/hadoop-0.20.2-mapr-4.0.0.tgz' 
> '/tmp/mesos/slaves/20140815-103603-1677764800-5050-24315-2/frameworks/20140815-154511-1677764800-5050-7162-0003/executors/executor_Task_Tracker_5/runs/b3174e72-75ea-48be-bbb8-a9a6cc605018/hadoop-0.20.2-mapr-4.0.0.tgz'
> WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use 
> org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
> -copyToLocal: Wrong FS: 
> maprfs://hadoopmapr1:7222/mesos/hadoop-0.20.2-mapr-4.0.0.tgz, expected: 
> hdfs://hadoopmapr1:7222/mesos/hadoop-0.20.2-mapr-4.0.0.tgz
> Usage: hadoop fs [generic options] -copyToLocal [-p] [-ignoreCrc] [-crc] 
> <src> ... <localdst>
> Failed to fetch: hdfs://hadoopmapr1:7222/mesos/hadoop-0.20.2-mapr-4.0.0.tgz
> Failed to synchronize with slave (it's probably exited)
>
>
>
>
> hdfs:///
>
>
>
>
> I0815 19:10:45.006803 21508 fetcher.cpp:76] Fetching URI 
> 'hdfs:///mesos/hadoop-0.20.2-mapr-4.0.0.tgz'
> I0815 19:10:45.007099 21508 fetcher.cpp:105] Downloading resource from 
> 'hdfs:///mesos/hadoop-0.20.2-mapr-4.0.0.tgz' to 
> '/tmp/mesos/slaves/20140815-103603-1677764800-5050-24315-2/frameworks/20140815-154511-1677764800-5050-7162-0002/executors/executor_Task_Tracker_2/runs/22689054-aff6-4f7c-9746-a068a11ff000/hadoop-0.20.2-mapr-4.0.0.tgz'
> E0815 19:10:45.681922 21508 fetcher.cpp:109] HDFS copyToLocal failed: hadoop 
> fs -copyToLocal 'hdfs:///mesos/hadoop-0.20.2-mapr-4.0.0.tgz' 
> '/tmp/mesos/slaves/20140815-103603-1677764800-5050-24315-2/frameworks/20140815-154511-1677764800-5050-7162-0002/executors/executor_Task_Tracker_2/runs/22689054-aff6-4f7c-9746-a068a11ff000/hadoop-0.20.2-mapr-4.0.0.tgz'
> WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use 
> org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
> -copyToLocal: Wrong FS: maprfs:/mesos/hadoop-0.20.2-mapr-4.0.0.tgz, expected: 
> hdfs:///mesos/hadoop-0.20.2-mapr-4.0.0.tgz
> Usage: hadoop fs [generic options] -copyToLocal [-p] [-ignoreCrc] [-crc] 
> <src> ... <localdst>
> Failed to fetch: hdfs:///mesos/hadoop-0.20.2-mapr-4.0.0.tgz
> Failed to synchronize with slave (it's probably exited)
>
>
>
> On Fri, Aug 15, 2014 at 5:38 PM, John Omernik <[email protected]> wrote:
>
>> I am away from my cluster right now, I trued doing a hadoop fs -ls
>> maprfs:// and that worked.   When I tries hadoop fs -ls hdfs:/// it failed
>> with wrong fs type.  With that error I didn't try it in the mapred-site.  I
>> will try it.  Still...why hard code the file prefixes? I guess I am curious
>> on how glusterfs would work, or others as they pop up.
>>  On Aug 15, 2014 5:04 PM, "Adam Bordelon" <[email protected]> wrote:
>>
>>> Can't you just use the hdfs:// protocol for maprfs? That should work
>>> just fine.
>>>
>>>
>>> On Fri, Aug 15, 2014 at 2:50 PM, John Omernik <[email protected]> wrote:
>>>
>>>> Thanks all.
>>>>
>>>> I realized MapR has a work around for me that I will try soon in that I
>>>> have MapR fs NFS mounted on each node, I.e. I should be able to get the tar
>>>> from there.
>>>>
>>>> That said, perhaps someone with better coding skills than me could
>>>> provide an env variable where a user could provide the HDFS prefixes to
>>>> try. I know we did that with the tachyon project and it works well for
>>>> other HDFS compatible fs implementations, perhaps that would work here?
>>>> Hard coding a pluggable system seems like a long term issue that will keep
>>>> coming up.
>>>>  On Aug 15, 2014 4:02 PM, "Tim St Clair" <[email protected]> wrote:
>>>>
>>>>> The uri doesn't currently start with any of the known types (at least
>>>>> on 1st grok).
>>>>> You could redirect via a proxy that does the job for you.
>>>>>
>>>>> | if you had some fuse mount that would work too.
>>>>>
>>>>> Cheers,
>>>>> Tim
>>>>>
>>>>> ------------------------------
>>>>>
>>>>> *From: *"John Omernik" <[email protected]>
>>>>> *To: *[email protected]
>>>>> *Sent: *Friday, August 15, 2014 3:55:02 PM
>>>>> *Subject: *Alternate HDFS Filesystems + Hadoop on Mesos
>>>>>
>>>>> I am on a wonderful journey trying to get hadoop on Mesos working with
>>>>> MapR.   I feel like I am close, but when the slaves try to run the 
>>>>> packaged
>>>>> Hadoop, I get the error below.  The odd thing is,  I KNOW I got Spark
>>>>> running on Mesos pulling both data and the packages from MapRFS.  So I am
>>>>> confused why there is and issue with the fetcher.cpp here. Granted, when I
>>>>> got spark working, it was on 0.19.0, and I am trying a "fresh" version 
>>>>> from
>>>>> git (0.20.0?) that I just pulled today. I am not sure if that work, but
>>>>> when I have more time I will try spark again.
>>>>>
>>>>> Any thoughts on this error? Thanks.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Error:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> WARNING: Logging before InitGoogleLogging() is written to STDERR
>>>>> I0815 15:48:35.446071 20636 fetcher.cpp:76] Fetching URI 
>>>>> 'maprfs:///mesos/hadoop-0.20.2-mapr-4.0.0.tgz'
>>>>> E0815 15:48:35.446184 20636 fetcher.cpp:161] A relative path was passed 
>>>>> for the resource but the environment variable MESOS_FRAMEWORKS_HOME is 
>>>>> not set. Please either specify this config option or avoid using a 
>>>>> relative path
>>>>> Failed to fetch: maprfs:///mesos/hadoop-0.20.2-mapr-4.0.0.tgz
>>>>> Failed to synchronize with slave (it's probably exited)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Cheers,
>>>>> Timothy St. Clair
>>>>> Red Hat Inc.
>>>>>
>>>>
>>>
>

Reply via email to