|
|
-
AccessControlException when calling copyFromLocalFile()
Ted Yu 2010-06-02, 18:56
Hi, When the user calling FileSystem.copyFromLocalFile() doesn't have permission to write to certain hdfs path: Thread [main] (Suspended (exception AccessControlException)) DFSClient.mkdirs(String, FsPermission) line: 905 DistributedFileSystem.mkdirs(Path, FsPermission) line: 262 DistributedFileSystem(FileSystem).mkdirs(Path) line: 1162 FileUtil.copy(FileSystem, Path, FileSystem, Path, boolean, boolean, Configuration) line: 194 DistributedFileSystem(FileSystem).copyFromLocalFile(boolean, boolean, Path, Path) line: 1231 DistributedFileSystem(FileSystem).copyFromLocalFile(boolean, Path, Path) line: 1207 DistributedFileSystem(FileSystem).copyFromLocalFile(Path, Path) line: 1179 GridM2mInstallation.copyInputFiles(FlowConfigurations$FlowConf) line: 380
Passwordless ssh has been setup for current user, tyu, on localhost and user hadoop on Namenode. I want to get opinion on how I can programmatically get pass the above exception - by specifying user as hadoop, maybe ?
Thanks
-
Re: AccessControlException when calling copyFromLocalFile()
Hemanth Yamijala 2010-06-03, 01:49
Ted,
> When the user calling FileSystem.copyFromLocalFile() doesn't have permission > to write to certain hdfs path: > Thread [main] (Suspended (exception AccessControlException)) > DFSClient.mkdirs(String, FsPermission) line: 905 > DistributedFileSystem.mkdirs(Path, FsPermission) line: 262 > DistributedFileSystem(FileSystem).mkdirs(Path) line: 1162 > FileUtil.copy(FileSystem, Path, FileSystem, Path, boolean, boolean, > Configuration) line: 194 > DistributedFileSystem(FileSystem).copyFromLocalFile(boolean, boolean, > Path, Path) line: 1231 > DistributedFileSystem(FileSystem).copyFromLocalFile(boolean, Path, Path) > line: 1207 > DistributedFileSystem(FileSystem).copyFromLocalFile(Path, Path) line: > 1179 > GridM2mInstallation.copyInputFiles(FlowConfigurations$FlowConf) line: > 380 > > Passwordless ssh has been setup for current user, tyu, on localhost and user > hadoop on Namenode. > I want to get opinion on how I can programmatically get pass the above > exception - by specifying user as hadoop, maybe ? >
Is there a reason why access cannot be given to the user on DFS during setup, using dfs -chmod or dfs -chown ? That seems a more correct solution. Please note that while some versions of Hadoop allowed user name to be set as a configuration property (I think it was called hadoop.job.ugi or some such), it will stop working with later, secure versions of Hadoop.
Thanks Hemanth
-
Re: AccessControlException when calling copyFromLocalFile()
Ted Yu 2010-06-03, 01:53
I am currently calling 'dfs -chmod' through ssh before calling copyFromLocalFile(). Just want to seek unified approach.
On Wed, Jun 2, 2010 at 6:49 PM, Hemanth Yamijala <[EMAIL PROTECTED]> wrote:
> Ted, > > > When the user calling FileSystem.copyFromLocalFile() doesn't have > permission > > to write to certain hdfs path: > > Thread [main] (Suspended (exception AccessControlException)) > > DFSClient.mkdirs(String, FsPermission) line: 905 > > DistributedFileSystem.mkdirs(Path, FsPermission) line: 262 > > DistributedFileSystem(FileSystem).mkdirs(Path) line: 1162 > > FileUtil.copy(FileSystem, Path, FileSystem, Path, boolean, boolean, > > Configuration) line: 194 > > DistributedFileSystem(FileSystem).copyFromLocalFile(boolean, boolean, > > Path, Path) line: 1231 > > DistributedFileSystem(FileSystem).copyFromLocalFile(boolean, Path, > Path) > > line: 1207 > > DistributedFileSystem(FileSystem).copyFromLocalFile(Path, Path) line: > > 1179 > > GridM2mInstallation.copyInputFiles(FlowConfigurations$FlowConf) line: > > 380 > > > > Passwordless ssh has been setup for current user, tyu, on localhost and > user > > hadoop on Namenode. > > I want to get opinion on how I can programmatically get pass the above > > exception - by specifying user as hadoop, maybe ? > > > > Is there a reason why access cannot be given to the user on DFS during > setup, using dfs -chmod or dfs -chown ? That seems a more correct > solution. Please note that while some versions of Hadoop allowed user > name to be set as a configuration property (I think it was called > hadoop.job.ugi or some such), it will stop working with later, secure > versions of Hadoop. > > Thanks > Hemanth >
|
|