Hello,
I am brand new to Hadoop, Java, and Linux. I am running Hadoop version 0.20.2
under CentOS. I am trying to move files from the Hadoop DFS to a Windows file
share at the completion of a mapreduce job. I verified that the Hadoop user
has full control of the mounted folder
ls -lcontext
drwxrwxrwx 2 system_u:object_r:cifs_t root root 0 Sep 23 2010
localFolder
I have the following code in my Java main() function
FileSystem fs = FileSystem.get(job.getConfiguration());
try {
job.waitForCompletion(true);
} catch (Exception e) {
e.printStackTrace();
}
FileStatus[] files = fs.listStatus(new Path(dfsFolder));
for(FileStatus dfsFile : files) {
fs.moveToLocalFile(dfsFile.getPath(), new Path(localFolder));
}
The job fails with
Exception in thread "main" org.apache.hadoop.util.Shell$ExitCodeException:
chmod: changing permissions of `/localFolder/file1': Operation not permitted
The message means that either the Hadoop user does not have permission to
execute the chmod command or that the chmod command cannot be run on the file
because it is physically located on a Windows server. I have added the Hadoop
user to the adm group on the CentOS server, so I don't believe it is the former.
So, how do I prevent Hadoop from trying to run the chmod command in the first
place. It really isn't necessary since the Hadoop user has full control over
the mount in CentOS and the shared folder in Windows.
Any assistance would be greatly appreciated.
Dave Shine
Sr. Software Engineer
1180 Celebration Blvd Suite 101
Celebration FL 34747
Office 321-939-5093
Mobile 407-314-0122
Fax 321-939-5604
[email protected]<mailto:[email protected]>
http://www.channelintelligence.com<http://www.channelintelligence.com/>
________________________________
The information contained in this email message is considered confidential and
proprietary to the sender and is intended solely for review and use by the
named recipient. Any unauthorized review, use or distribution is strictly
prohibited. If you have received this message in error, please advise the
sender by reply email and delete the message.