RangaSamudrala opened a new issue, #82:
URL: https://github.com/apache/accumulo-proxy/issues/82
Hello
I am trying to import data into Accumulo using this package. I have
truncated the code the log to make it relevant. As one can see login is
successful. I have been able to successfully invoke hdfs commands like `hdfs
dfs -rm -r -f hdfs://accumulo-hdfs-ha:8020/imports/custom_data_05222024 ` and
`hdfs dfs -put -f /imports/custom_data_05222024
hdfs://accumulo-hdfs-ha:8020/imports/custom_data_05222024`. Even getting a list
of Tablet servers works. However, invoking **importDirectory** fails with the
error below.
```
proxy_connection =
AccumuloProxyConnection(AccumuloProxyConnectionParams(hostname=proxy_host,
port=proxy_port))
with proxy_connection:
context = AccumuloProxyConnectionContext(proxy_connection)
connector = context.create_connector('accumulo', secret)
login = proxy_connection.client.login('accumulo', {'password': secret})
if login:
print(f"Accumulo login successful !!!")
else:
print(f'Accumulo login failed: {login}. Exiting...')
sys.exit(1)
client = proxy_connection.client
tservers = client.getTabletServers(login)
print(f'Tablet Servers: {tservers}')
print(f'Accumulo import directory: {table_name} {hdfs_dir}
{failure_dir} {True}')
client.importDirectory(login, table_name, hdfs_dir, failure_dir, True)
```
Log:
>
> Accumulo login successful !!!
>
> Tablet Servers:
['accumulo-tservers-2.accumulo-tservers.accumulo-dev.svc.cluster.local:9997',
'accumulo-tservers-4.accumulo-tservers.accumulo-dev.svc.
> cluster.local:9997',
'accumulo-tservers-0.accumulo-tservers.accumulo-dev.svc.cluster.local:9997',
'accumulo-tservers-3.accumulo-tservers.accumulo-dev.
> svc.cluster.local:9997',
'accumulo-tservers-1.accumulo-tservers.accumulo-dev.svc.cluster.local:9997']
>
> Accumulo import directory: custom_data
hdfs://accumulo-hdfs-ha:8020/imports/custom_data_05222024 None True
>
> AccumuloException(msg='org.apache.hadoop.security.KerberosAuthException:
> failure to login: javax.security.auth.login.LoginException:
> java.lang.NullPointerException: invalid null input: name\n\t
> at
jdk.security.auth/com.sun.security.auth.UnixPrincipal.<init>(UnixPrincipal.java:67)\n\t
> at
jdk.security.auth/com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:129)\n\t
> at
java.base/javax.security.auth.login.LoginContext.invoke(LoginContext.java:747)\n\t
> at
java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:672)\n\t
> at
java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:670)\n\t
> at java.base/java.security.AccessController.doPrivileged(Native Method)\n\t
> at
java.base/javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:670)\n\t
> at
java.base/javax.security.auth.login.LoginContext.login(LoginContext.java:581)\n\t
> at
org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2091)\n\t
> at
org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:2001)\n\t
> at
org.apache.hadoop.security.UserGroupInformation.createLoginUser(UserGroupInformation.java:722)\n\t
> at
org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:672)\n\t
> at
org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:579)\n\t
> at
org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:3845)\n\t
> at
org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:3835)\n\t
> at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3623)\n\t
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:557)\n\t
> at org.apache.hadoop.fs.Path.getFileSystem(Path.java:365)\n\t
> at
org.apache.accumulo.core.volume.VolumeImpl.<init>(VolumeImpl.java:45)\n\t
> at
org.apache.accumulo.core.volume.VolumeConfiguration.create(VolumeConfiguration.java:152)\n\t
> at
org.apache.accumulo.core.volume.VolumeConfiguration.getVolume(VolumeConfiguration.java:39)\n\t
> at
org.apache.accumulo.core.clientImpl.bulk.BulkImport.load(BulkImport.java:123)\n\t
> at
org.apache.accumulo.proxy.ProxyServer.importDirectory(ProxyServer.java:1769)\n\t
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)\n\t
> at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\t
> at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\t
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t
> at
org.apache.accumulo.core.trace.TraceUtil.lambda$wrapService$8(TraceUtil.java:232)\n\t
> at com.sun.proxy.$Proxy9.importDirectory(Unknown Source)\n\t
> at
org.apache.accumulo.proxy.thrift.AccumuloProxy$Processor$importDirectory.getResult(AccumuloProxy.java:8073)\n\t
> at
org.apache.accumulo.proxy.thrift.AccumuloProxy$Processor$importDirectory.getResult(AccumuloProxy.java:8052)\n\t
> at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)\n\t
> at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)\n\t
> at
org.apache.accumulo.server.rpc.TimedProcessor.process(TimedProcessor.java:61)\n\t
> at
org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:518)\n\t
> at
org.apache.accumulo.server.rpc.CustomNonBlockingServer$CustomFrameBuffer.invoke(CustomNonBlockingServer.java:112)\n\t
> at org.apache.thrift.server.Invocation.run(Invocation.java:18)\n\t
> at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\t
> at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\t
> at
org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)\n\t
> at java.base/java.lang.Thread.run(Thread.java:829)\n')
>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]