[ 
https://issues.apache.org/jira/browse/HDDS-2881?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marton Elek updated HDDS-2881:
------------------------------
    Description: 
The unsecure ozonefs is tested together with different version of Hadoop (2.7, 
3.1, 3.2). The "legacy" (isolated) ozonefs package makes it possible to use it 
together with older Hadoop versions.

But the ozonesecure-mr (testing ozonefs with mapreduce in secure Ozone 
environment) is executed only with Hadoop 3.2 (which uses the "current" 
(shared) ozonefs instead of the "legacy" (isolated))

It turned on that the "legacy" ozonefs couldn't work in secure environment 
which means Ozone can be used only together with Hadoop 3.2 if the Hadoop/Ozone 
environment is secure

There are multiple problems. The first visible one is the following (run cd 
compose/ozonesecure-mr && ./test.sh after s/current/legacy/ in 
docker-config/docker-compose.yaml):
{code:java}
2020-01-13 10:03:39 ERROR OzoneClientFactory:193 - Couldn't create RpcClient 
protocol exception: 
java.io.IOException: DestHost:destPort om:9862 , LocalHost:localPort 
rm/172.21.0.10:0. Failed on local exception: java.io.IOException: 
org.apache.hadoop.security.AccessControlException: Client cannot authenticate 
via:[TOKEN, KERBEROS]
        at sun.reflect.GeneratedConstructorAccessor2.newInstance(Unknown Source)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:831)
        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:806)
        at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1515)
        at org.apache.hadoop.ipc.Client.call(Client.java:1457)
        at org.apache.hadoop.ipc.Client.call(Client.java:1367)
        at 
org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228)
        at 
org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116)
        at com.sun.proxy.$Proxy13.submitRequest(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422)
        at 
org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165)
        at 
org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157)
        at 
org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95)
        at 
org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359)
        at com.sun.proxy.$Proxy13.submitRequest(Unknown Source)
        at 
org.apache.hadoop.ozone.om.protocolPB.OzoneManagerProtocolClientSideTranslatorPB.submitRequest(OzoneManagerProtocolClientSideTranslatorPB.java:394)
        at 
org.apache.hadoop.ozone.om.protocolPB.OzoneManagerProtocolClientSideTranslatorPB.getServiceInfo(OzoneManagerProtocolClientSideTranslatorPB.java:1283)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.hadoop.hdds.tracing.TraceAllMethod.invoke(TraceAllMethod.java:71) 
{code}

  was:
The unsecure ozonefs is tested together with different version of Hadoop (2.7, 
3.1, 3.2). The "legacy" (isolated) ozonefs package makes it possible to use it 
together with older Hadoop versions.

But the ozonesecure-mr (testing ozonefs with mapreduce in secure Ozone 
environment) is executed only with Hadoop 3.2 (which uses the "current" 
(shared) ozonefs instead of the "legacy" (isolated))

It turned on that the "legacy" ozonefs couldn't work in secure environment 
which means Ozone can be used only together with Hadoop 3.2 if the Hadoop/Ozone 
environment is secure


> Legacy (isolated) ozonefs couldn't work in secure environments
> --------------------------------------------------------------
>
>                 Key: HDDS-2881
>                 URL: https://issues.apache.org/jira/browse/HDDS-2881
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>            Reporter: Marton Elek
>            Assignee: Marton Elek
>            Priority: Critical
>
> The unsecure ozonefs is tested together with different version of Hadoop 
> (2.7, 3.1, 3.2). The "legacy" (isolated) ozonefs package makes it possible to 
> use it together with older Hadoop versions.
> But the ozonesecure-mr (testing ozonefs with mapreduce in secure Ozone 
> environment) is executed only with Hadoop 3.2 (which uses the "current" 
> (shared) ozonefs instead of the "legacy" (isolated))
> It turned on that the "legacy" ozonefs couldn't work in secure environment 
> which means Ozone can be used only together with Hadoop 3.2 if the 
> Hadoop/Ozone environment is secure
> There are multiple problems. The first visible one is the following (run cd 
> compose/ozonesecure-mr && ./test.sh after s/current/legacy/ in 
> docker-config/docker-compose.yaml):
> {code:java}
> 2020-01-13 10:03:39 ERROR OzoneClientFactory:193 - Couldn't create RpcClient 
> protocol exception: 
> java.io.IOException: DestHost:destPort om:9862 , LocalHost:localPort 
> rm/172.21.0.10:0. Failed on local exception: java.io.IOException: 
> org.apache.hadoop.security.AccessControlException: Client cannot authenticate 
> via:[TOKEN, KERBEROS]
>       at sun.reflect.GeneratedConstructorAccessor2.newInstance(Unknown Source)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>       at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:831)
>       at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:806)
>       at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1515)
>       at org.apache.hadoop.ipc.Client.call(Client.java:1457)
>       at org.apache.hadoop.ipc.Client.call(Client.java:1367)
>       at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228)
>       at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116)
>       at com.sun.proxy.$Proxy13.submitRequest(Unknown Source)
>       at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422)
>       at 
> org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165)
>       at 
> org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157)
>       at 
> org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95)
>       at 
> org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359)
>       at com.sun.proxy.$Proxy13.submitRequest(Unknown Source)
>       at 
> org.apache.hadoop.ozone.om.protocolPB.OzoneManagerProtocolClientSideTranslatorPB.submitRequest(OzoneManagerProtocolClientSideTranslatorPB.java:394)
>       at 
> org.apache.hadoop.ozone.om.protocolPB.OzoneManagerProtocolClientSideTranslatorPB.getServiceInfo(OzoneManagerProtocolClientSideTranslatorPB.java:1283)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.hadoop.hdds.tracing.TraceAllMethod.invoke(TraceAllMethod.java:71) 
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to