All, I’m trying to integrate and test access to/from our Swift storage ring via our Hadoop cluster.
After setting the HDFS permissions, I’m able to perform the following tests
using the Swift/Hadoop file system:
distcp swift://{container}.{provider}/object
swift://{container}.{provider}/new-object
distcp hdfs://{node}:{port}/object swift://{container}.{provider}/new-object
However, I’m not able to use distcp to move objects from Swift to HDFS storage.
The log file from the final attempt to create the associated map task is as
follows:
2014-02-25 22:10:38,570 DEBUG
org.apache.hadoop.fs.swift.snative.SwiftNativeFileSystem: Initializing
SwiftNativeFileSystem against URI
swift://data.os/blob1 and working dir swift://data.os/user/ubuntu
2014-02-25 22:10:38,593 DEBUG
org.apache.hadoop.fs.swift.http.RestClientBindings: Filesystem
swift://data.os/blob1 is using configurati
on keys fs.swift.service.os
2014-02-25 22:10:38,594 DEBUG org.apache.hadoop.fs.swift.http.SwiftRestClient:
Service={os} container={data} uri={http://KEYSTONE:5
000/v2.0/tokens} tenant={test} user={tester} region={(none)} publicURL={true}
location aware={false} partition size={4718592 KB}, buff
er size={64 KB} block size={32768 KB} connect timeout={15000}, retry count={3}
socket timeout={60000} throttle delay={0}
2014-02-25 22:10:38,594 DEBUG
org.apache.hadoop.fs.swift.snative.SwiftNativeFileSystem: SwiftFileSystem
initialized
2014-02-25 22:10:38,599 DEBUG
org.apache.hadoop.fs.swift.snative.SwiftNativeFileSystemStore: Reading
swift://data.os/blob1 from proxy n
ode
2014-02-25 22:10:38,607 INFO org.apache.hadoop.tools.DistCp: FAIL blob1 :
org.apache.hadoop.fs.swift.exceptions.SwiftInternalStateExcep
tion: Null Endpoint -client is not authenticated
at
org.apache.hadoop.fs.swift.http.SwiftRestClient.checkNotNull(SwiftRestClient.java:1800)
at
org.apache.hadoop.fs.swift.http.SwiftRestClient.pathToURI(SwiftRestClient.java:1629)
at
org.apache.hadoop.fs.swift.http.SwiftRestClient.pathToURI(SwiftRestClient.java:1669)
at
org.apache.hadoop.fs.swift.http.SwiftRestClient.getData(SwiftRestClient.java:711)
at
org.apache.hadoop.fs.swift.snative.SwiftNativeFileSystemStore.getObject(SwiftNativeFileSystemStore.java:294)
at
org.apache.hadoop.fs.swift.snative.SwiftNativeInputStream.<init>(SwiftNativeInputStream.java:103)
at
org.apache.hadoop.fs.swift.snative.SwiftNativeFileSystem.open(SwiftNativeFileSystem.java:555)
at
org.apache.hadoop.fs.swift.snative.SwiftNativeFileSystem.open(SwiftNativeFileSystem.java:536)
at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:436)
at org.apache.hadoop.tools.DistCp$CopyFilesMapper.copy(DistCp.java:419)
at org.apache.hadoop.tools.DistCp$CopyFilesMapper.map(DistCp.java:547)
at org.apache.hadoop.tools.DistCp$CopyFilesMapper.map(DistCp.java:314)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:430)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:366)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
2014-02-25 22:10:47,700 INFO org.apache.hadoop.mapred.TaskLogsTruncater:
Initializing logs' truncater with mapRetainSize=-1 and reduceR
etainSize=-1
2014-02-25 22:10:47,723 ERROR org.apache.hadoop.security.UserGroupInformation:
PriviledgedActionException as:tester cause:java.io.IOExc
eption: Copied: 0 Skipped: 0 Failed: 1
2014-02-25 22:10:47,725 WARN org.apache.hadoop.mapred.Child: Error running child
java.io.IOException: Copied: 0 Skipped: 0 Failed: 1
at org.apache.hadoop.tools.DistCp$CopyFilesMapper.close(DistCp.java:582)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:430)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:366)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
2014-02-25 22:10:47,739 INFO org.apache.hadoop.mapred.Task: Runnning cleanup
for the task
ubuntu@slave1:/var/log/hadoop/ubuntu/userlogs/job_201402252129_0006/attempt_201402252129_0006_m_000000_3$
The hadoop distcp command entered was:
master$ hadoop distcp -D fs.swift.service.os.public=true -D
fs.swift.service.os.tenant=test -D fs.swift.service.os.username=tester -D
fs.swift.service.os.password=supersecret swift://data.os/blob1 hdfs://<hdfs
ip>:9000/data/blob3
Am I missing anything obvious?
Thanks and regards,
Ross
--
Ross Lillie
Distinguished Member of Technical Staff
Motorola Solutions, Inc.
motorolasolutions.com<http://motorolasolutions.com>
O: +1.847.576.0012
M: +1.847.980.2241
E: [email protected]
[cid:[email protected]]
<<inline: MSI-Email-Identity-sm.png>>
_______________________________________________ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : [email protected] Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
