Hey guys !

My problem was the fact that I let the hadoop.rpc.protection field empty in
the repository definition.
I put the default value authentication and now the test connect button
works and the auto-completion works too.

BR.

Lune.

On Wed, May 18, 2016 at 11:39 AM, Lune Silver <lunescar.ran...@gmail.com>
wrote:

> In my repository definition, I added the kerberos realm after the user,
> like this :
> rangerhdfslookup@<my-realm>
>
> And now the error is different in the logs :
> ###
> 2016-05-18 11:24:53,137 [timed-executor-pool-0] WARN
> org.apache.hadoop.ipc.Client$Connection$1 (Client.java:680) - Exception
> encountered while connecting to the server :
> javax.security.sasl.SaslException: No common protection layer between
> client and server
> 2016-05-18 11:24:53,137 [timed-executor-pool-0] DEBUG
> org.apache.hadoop.security.UserGroupInformation
> (UserGroupInformation.java:1661) - PrivilegedActionException
> as:rangerhdfslookup@<KRB REALM> (auth:KERBEROS)
> cause:java.io.IOException: javax.security.sasl.SaslException: No common
> protection layer between client and server
> 2016-05-18 11:24:53,140 [timed-executor-pool-0] DEBUG
> org.apache.hadoop.ipc.Client$Connection (Client.java:1180) - closing ipc
> connection to <NAMENODE HOST FQDN>/<namenode host IP>:8020:
> javax.security.sasl.SaslException: No common protection layer between
> client and server
> java.io.IOException: javax.security.sasl.SaslException: No common
> protection layer between client and server
>
>         at org.apache.hadoop.ipc.Client$Connection$1.run(Client.java:685)
>         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:1657)
>         at
> org.apache.hadoop.ipc.Client$Connection.handleSaslConnectionFailure(Client.java:648)
>         at
> org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:735)
>         at
> org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:373)
>         at org.apache.hadoop.ipc.Client.getConnection(Client.java:1493)
>         at org.apache.hadoop.ipc.Client.call(Client.java:1397)
>         at org.apache.hadoop.ipc.Client.call(Client.java:1358)
>         at
> org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
>         at com.sun.proxy.$Proxy90.getListing(Unknown Source)
>         at
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getListing(ClientNamenodeProtocolTranslatorPB.java:573)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at
> org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
>         at
> org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
>         at com.sun.proxy.$Proxy91.getListing(Unknown Source)
>         at org.apache.hadoop.hdfs.DFSClient.listPaths(DFSClient.java:2094)
>         at org.apache.hadoop.hdfs.DFSClient.listPaths(DFSClient.java:2077)
>         at
> org.apache.hadoop.hdfs.DistributedFileSystem.listStatusInternal(DistributedFileSystem.java:791)
>         at
> org.apache.hadoop.hdfs.DistributedFileSystem.access$700(DistributedFileSystem.java:106)
>         at
> org.apache.hadoop.hdfs.DistributedFileSystem$18.doCall(DistributedFileSystem.java:853)
>         at
> org.apache.hadoop.hdfs.DistributedFileSystem$18.doCall(DistributedFileSystem.java:849)
>         at
> org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
>         at
> org.apache.hadoop.hdfs.DistributedFileSystem.listStatus(DistributedFileSystem.java:849)
>         at
> org.apache.ranger.services.hdfs.client.HdfsClient.listFilesInternal(HdfsClient.java:83)
>         at
> org.apache.ranger.services.hdfs.client.HdfsClient.access$000(HdfsClient.java:41)
>         at
> org.apache.ranger.services.hdfs.client.HdfsClient$1.run(HdfsClient.java:165)
>         at
> org.apache.ranger.services.hdfs.client.HdfsClient$1.run(HdfsClient.java:162)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:356)
>         at
> org.apache.ranger.services.hdfs.client.HdfsClient.listFiles(HdfsClient.java:169)
>         at
> org.apache.ranger.services.hdfs.client.HdfsClient.testConnection(HdfsClient.java:211)
>         at
> org.apache.ranger.services.hdfs.client.HdfsResourceMgr.testConnection(HdfsResourceMgr.java:46)
>         at
> org.apache.ranger.services.hdfs.RangerServiceHdfs.validateConfig(RangerServiceHdfs.java:57)
>         at
> org.apache.ranger.biz.ServiceMgr$ValidateCallable.actualCall(ServiceMgr.java:484)
>         at
> org.apache.ranger.biz.ServiceMgr$ValidateCallable.actualCall(ServiceMgr.java:471)
>         at
> org.apache.ranger.biz.ServiceMgr$TimedCallable.call(ServiceMgr.java:432)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: javax.security.sasl.SaslException: No common protection layer
> between client and server
>         at
> com.sun.security.sasl.gsskerb.GssKrb5Client.doFinalHandshake(GssKrb5Client.java:252)
>         at
> com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:187)
>         at
> org.apache.hadoop.security.SaslRpcClient.saslEvaluateToken(SaslRpcClient.java:483)
>         at
> org.apache.hadoop.security.SaslRpcClient.saslConnect(SaslRpcClient.java:427)
>         at
> org.apache.hadoop.ipc.Client$Connection.setupSaslConnection(Client.java:558)
>         at
> org.apache.hadoop.ipc.Client$Connection.access$1800(Client.java:373)
>         at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:727)
>         at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:723)
>         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:1657)
>         at
> org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:722)
>         ... 39 more
> 2016-05-18 11:24:53,141 [timed-executor-pool-0] DEBUG
> org.apache.hadoop.ipc.Client$Connection (Client.java:1189) - IPC Client
> (1117545772) connection to <NAMENODE HOST FQDN>/<namenode host IP>:8020
> from rangerhdfslookup@<KRB REALM>: closed
> 2016-05-18 11:24:53,141 [timed-executor-pool-0] TRACE
> org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker
> (ProtobufRpcEngine.java:235) - 53: Exception <- <NAMENODE HOST
> FQDN>/<namenode host IP>:8020: getListing {java.io.IOException: Failed on
> local exception: java.io.IOException: javax.security.sasl.SaslException: No
> common protection layer between client and server; Host Details : local
> host is: "<ranger host fqdn>/<ranger host IP>"; destination host is:
> "<NAMENODE HOST FQDN>":8020; }
> 2016-05-18 11:24:53,144 [timed-executor-pool-0] DEBUG
> apache.ranger.services.hdfs.client.HdfsClient (HdfsClient.java:140) - <==
> HdfsClient listFilesInternal Error : java.io.IOException: Failed on local
> exception: java.io.IOException: javax.security.sasl.SaslException: No
> common protection layer between client and server; Host Details : local
> host is: "<ranger host fqdn>/<ranger host IP>"; destination host is:
> "<NAMENODE HOST FQDN>":8020;
> 2016-05-18 11:24:53,145 [timed-executor-pool-0] ERROR
> apache.ranger.services.hdfs.client.HdfsResourceMgr
> (HdfsResourceMgr.java:48) - <== HdfsResourceMgr.testConnection Error:
> org.apache.ranger.plugin.client.HadoopException: listFilesInternal: Unable
> to get listing of files for directory /null] from Hadoop environment [<KRB
> REALM>_hadoop].
> 2016-05-18 11:24:53,145 [timed-executor-pool-0] ERROR
> org.apache.ranger.services.hdfs.RangerServiceHdfs
> (RangerServiceHdfs.java:59) - <== RangerServiceHdfs.validateConfig
> Error:org.apache.ranger.plugin.client.HadoopException: listFilesInternal:
> Unable to get listing of files for directory /null] from Hadoop environment
> [<KRB REALM>_hadoop].
> ###
>
> BR.
>
> Lune
>
> On Wed, May 18, 2016 at 11:01 AM, Lune Silver <lunescar.ran...@gmail.com>
> wrote:
>
>> I enabled the DEBUGLOG in ranger admin and found this when I rpess on the
>> test connect button in the repository definition windows in the ranger
>> admin UI.
>>
>> ###
>> 2016-05-18 10:42:03,135 [timed-executor-pool-0] DEBUG
>> org.apache.hadoop.security.SaslRpcClient (SaslRpcClient.java:264) - Get
>> token info proto:interface
>> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolPB
>> info:@org.apache.hadoop.security.token.TokenInfo(value=class
>> org.apache.hadoop.hdfs.security.token.delegation.DelegationTokenSelector)
>> 2016-05-18 10:42:03,139 [timed-executor-pool-0] DEBUG
>> org.apache.hadoop.security.UserGroupInformation
>> (UserGroupInformation.java:1681) - PrivilegedAction as:rangerhdfslookup
>> (auth:null)
>> from:org.apache.hadoop.ipc.Client$Connection.handleSaslConnectionFailure(Client.java:648)
>> 2016-05-18 10:42:03,139 [timed-executor-pool-0] WARN
>> org.apache.hadoop.ipc.Client$Connection$1 (Client.java:680) - Exception
>> encountered while connecting to the server : java.lang.NullPointerException
>> 2016-05-18 10:42:03,140 [timed-executor-pool-0] DEBUG
>> org.apache.hadoop.security.UserGroupInformation
>> (UserGroupInformation.java:1661) - PrivilegedActionException
>> as:rangerhdfslookup (auth:null) cause:java.io.IOException:
>> java.lang.NullPointerException
>> 2016-05-18 10:42:03,143 [timed-executor-pool-0] DEBUG
>> org.apache.hadoop.ipc.Client$Connection (Client.java:1180) - closing ipc
>> connection to <NAMENODE HOST FQDN>/<namenode host IP>:8020:
>> java.lang.NullPointerException
>> java.io.IOException: java.lang.NullPointerException
>>         at org.apache.hadoop.ipc.Client$Connection$1.run(Client.java:685)
>>         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:1657)
>>         at
>> org.apache.hadoop.ipc.Client$Connection.handleSaslConnectionFailure(Client.java:648)
>>         at
>> org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:735)
>>         at
>> org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:373)
>>         at org.apache.hadoop.ipc.Client.getConnection(Client.java:1493)
>>         at org.apache.hadoop.ipc.Client.call(Client.java:1397)
>>         at org.apache.hadoop.ipc.Client.call(Client.java:1358)
>>         at
>> org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
>>         at com.sun.proxy.$Proxy90.getListing(Unknown Source)
>>         at
>> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getListing(ClientNamenodeProtocolTranslatorPB.java:573)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>         at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>         at
>> org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
>>         at
>> org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
>>         at com.sun.proxy.$Proxy91.getListing(Unknown Source)
>>         at org.apache.hadoop.hdfs.DFSClient.listPaths(DFSClient.java:2094)
>>         at org.apache.hadoop.hdfs.DFSClient.listPaths(DFSClient.java:2077)
>>         at
>> org.apache.hadoop.hdfs.DistributedFileSystem.listStatusInternal(DistributedFileSystem.java:791)
>>         at
>> org.apache.hadoop.hdfs.DistributedFileSystem.access$700(DistributedFileSystem.java:106)
>>         at
>> org.apache.hadoop.hdfs.DistributedFileSystem$18.doCall(DistributedFileSystem.java:853)
>>         at
>> org.apache.hadoop.hdfs.DistributedFileSystem$18.doCall(DistributedFileSystem.java:849)
>>         at
>> org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
>>         at
>> org.apache.hadoop.hdfs.DistributedFileSystem.listStatus(DistributedFileSystem.java:849)
>>         at
>> org.apache.ranger.services.hdfs.client.HdfsClient.listFilesInternal(HdfsClient.java:83)
>>         at
>> org.apache.ranger.services.hdfs.client.HdfsClient.access$000(HdfsClient.java:41)
>>         at
>> org.apache.ranger.services.hdfs.client.HdfsClient$1.run(HdfsClient.java:165)
>>         at
>> org.apache.ranger.services.hdfs.client.HdfsClient$1.run(HdfsClient.java:162)
>>         at java.security.AccessController.doPrivileged(Native Method)
>>         at javax.security.auth.Subject.doAs(Subject.java:356)
>>         at
>> org.apache.ranger.services.hdfs.client.HdfsClient.listFiles(HdfsClient.java:169)
>>         at
>> org.apache.ranger.services.hdfs.client.HdfsClient.testConnection(HdfsClient.java:211)
>>         at
>> org.apache.ranger.services.hdfs.client.HdfsResourceMgr.testConnection(HdfsResourceMgr.java:46)
>>         at
>> org.apache.ranger.services.hdfs.RangerServiceHdfs.validateConfig(RangerServiceHdfs.java:57)
>>         at
>> org.apache.ranger.biz.ServiceMgr$ValidateCallable.actualCall(ServiceMgr.java:484)
>>         at
>> org.apache.ranger.biz.ServiceMgr$ValidateCallable.actualCall(ServiceMgr.java:471)
>>         at
>> org.apache.ranger.biz.ServiceMgr$TimedCallable.call(ServiceMgr.java:432)
>>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>>         at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>         at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.lang.NullPointerException
>>         at
>> org.apache.hadoop.security.SaslRpcClient.createSaslClient(SaslRpcClient.java:227)
>>         at
>> org.apache.hadoop.security.SaslRpcClient.selectSaslClient(SaslRpcClient.java:159)
>>         at
>> org.apache.hadoop.security.SaslRpcClient.saslConnect(SaslRpcClient.java:396)
>>         at
>> org.apache.hadoop.ipc.Client$Connection.setupSaslConnection(Client.java:558)
>>         at
>> org.apache.hadoop.ipc.Client$Connection.access$1800(Client.java:373)
>>         at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:727)
>>         at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:723)
>>         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:1657)
>>         at
>> org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:722)
>>         ... 39 more
>> 2016-05-18 10:42:03,144 [timed-executor-pool-0] DEBUG
>> org.apache.hadoop.ipc.Client$Connection (Client.java:1189) - IPC Client
>> (1901255770) connection to <NAMENODE HOST FQDN>/<namenode host IP>:8020
>> from rangerhdfslookup: closed
>> 2016-05-18 10:42:03,144 [timed-executor-pool-0] TRACE
>> org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker
>> (ProtobufRpcEngine.java:235) - 60: Exception <- <NAMENODE HOST
>> FQDN>/<namenode host IP>:8020: getListing {java.io.IOException: Failed on
>> local exception: java.io.IOException: java.lang.NullPointerException; Host
>> Details : local host is: "<ranger host fqdn>/<ranger host IP>"; destination
>> host is: "<NAMENODE HOST FQDN>":8020; }
>> 2016-05-18 10:42:03,147 [timed-executor-pool-0] DEBUG
>> apache.ranger.services.hdfs.client.HdfsClient (HdfsClient.java:140) - <==
>> HdfsClient listFilesInternal Error : java.io.IOException: Failed on local
>> exception: java.io.IOException: java.lang.NullPointerException; Host
>> Details : local host is: "<ranger host fqdn>/<ranger host IP>"; destination
>> host is: "<NAMENODE HOST FQDN>":8020;
>> 2016-05-18 10:42:03,147 [timed-executor-pool-0] ERROR
>> apache.ranger.services.hdfs.client.HdfsResourceMgr
>> (HdfsResourceMgr.java:48) - <== HdfsResourceMgr.testConnection Error:
>> org.apache.ranger.plugin.client.HadoopException: listFilesInternal: Unable
>> to get listing of files for directory /null] from Hadoop environment [<HDFS
>> REPO>].
>> ###
>>
>> The user rangerhdfslookup exists in my kerberos db, a kinit
>> rangerhdfslookupwith the right password works fine, and this is the same
>> password that I put in the repository definition, and in the ambari UI.
>>
>> BR.
>>
>> Lune.
>>
>> On Wed, May 18, 2016 at 10:15 AM, Lune Silver <lunescar.ran...@gmail.com>
>> wrote:
>>
>>> Re Ramesh.
>>>
>>> So my SSL problem is solved, but I still have this error in my log :
>>> ###
>>>
>>> 2016-05-18 10:07:32,579 [timed-executor-pool-0] ERROR
>>> org.apache.ranger.services.hdfs.RangerServiceHdfs
>>> (RangerServiceHdfs.java:59) - <== RangerServiceHdfs.validateConfig
>>> Error:org.apache.ranger.plugin.client.HadoopException: listFilesInternal:
>>> Unable to get listing of files for directory /null] from Hadoop environment
>>> [<CLUSTERNAME>_hadoop].
>>> ###
>>>
>>> I already have a log of files and folders in HDFS.
>>> What do you mean by create an empty file ? With which user ? In which
>>> folder ?
>>>
>>> BR.
>>>
>>> Lune.
>>>
>>>
>>>
>>> On Wed, May 18, 2016 at 9:52 AM, Lune Silver <lunescar.ran...@gmail.com>
>>> wrote:
>>>
>>>> Pfew.
>>>>
>>>> Indeed the wrong truststore was my problem.
>>>> By using the one of the JDK I managed to get rid of the error.
>>>>
>>>> To get the JAVA_HOME location :
>>>> readlink -f /usr/bin/java | sed "s:bin/java::"
>>>>
>>>> Then the cacerts file is located in lib/security/.
>>>> And the default password is changeit.
>>>>
>>>> BR.
>>>>
>>>> Lune.
>>>>
>>>> On Wed, May 18, 2016 at 9:29 AM, Lune Silver <lunescar.ran...@gmail.com
>>>> > wrote:
>>>>
>>>>> In fact, it uses by default the JDK cacert.
>>>>> https://issues.apache.org/jira/browse/AMBARI-15917
>>>>>
>>>>> So I'm wondering if I'm not using the wrong truststore for ranger
>>>>> admin in fact.
>>>>>
>>>>> BR.
>>>>>
>>>>> Lune
>>>>>
>>>>> On Wed, May 18, 2016 at 9:27 AM, Lune Silver <
>>>>> lunescar.ran...@gmail.com> wrote:
>>>>>
>>>>>> In fact, I'm wondering.
>>>>>> What is the truststore used by default by Ranger Admin ?
>>>>>>
>>>>>> I can find a property for the truststore of Ranger User-Sync, but not
>>>>>> for Ranger Admin.
>>>>>>
>>>>>> BR.
>>>>>>
>>>>>>
>>>>>> Lune.
>>>>>>
>>>>>> On Wed, May 18, 2016 at 9:16 AM, Lune Silver <
>>>>>> lunescar.ran...@gmail.com> wrote:
>>>>>>
>>>>>>> Re Ramesh.
>>>>>>>
>>>>>>> I investigated more my problem and I'm sorry for the confusion.
>>>>>>> I checked the policy cache directory on the namenode, and also the
>>>>>>> logs of the namenode.
>>>>>>>
>>>>>>> The policycache dir contains an empty file.
>>>>>>> And the namenode log contains the following error message :
>>>>>>> ###
>>>>>>> 2016-05-18 08:53:50,129 ERROR client.RangerAdminRESTClient
>>>>>>> (RangerAdminRESTClient.java:getServicePoliciesIfUpdated(79)) - Error
>>>>>>> getting policies. request=https://<RANGER HOST FQDN>:<RANGER ADMIN
>>>>>>> PORT>/service/plugins/policies/download/<HDFS
>>>>>>> REPO>?lastKnownVersion=-1&pluginId=hdfs@<NAMENODE HOST FQDN>-<HDFS
>>>>>>> REPO>,
>>>>>>> response={"httpStatusCode":400,"statusCode":1,"msgDesc":"Unauthorized
>>>>>>> access - unable to get client
>>>>>>> certificate","messageList":[{"name":"OPER_NOT_ALLOWED_FOR_ENTITY","rbKey":"xa.error.oper_not_allowed_for_state","message":"Operation
>>>>>>> not allowed for entity"}]}, serviceName=<HDFS REPO>
>>>>>>> 2016-05-18 08:53:50,130 ERROR util.PolicyRefresher
>>>>>>> (PolicyRefresher.java:loadPolicyfromPolicyAdmin(228)) -
>>>>>>> PolicyRefresher(serviceName=<HDFS REPO>): failed to refresh policies. 
>>>>>>> Will
>>>>>>> continue to use last known version of policies (-1)
>>>>>>> java.lang.Exception: Unauthorized access - unable to get client
>>>>>>> certificate
>>>>>>>         at
>>>>>>> org.apache.ranger.admin.client.RangerAdminRESTClient.getServicePoliciesIfUpdated(RangerAdminRESTClient.java:81)
>>>>>>>         at
>>>>>>> org.apache.ranger.plugin.util.PolicyRefresher.loadPolicyfromPolicyAdmin(PolicyRefresher.java:205)
>>>>>>>         at
>>>>>>> org.apache.ranger.plugin.util.PolicyRefresher.loadPolicy(PolicyRefresher.java:175)
>>>>>>>         at
>>>>>>> org.apache.ranger.plugin.util.PolicyRefresher.startRefresher(PolicyRefresher.java:132)
>>>>>>>         at
>>>>>>> org.apache.ranger.plugin.service.RangerBasePlugin.init(RangerBasePlugin.java:106)
>>>>>>>         at
>>>>>>> org.apache.ranger.authorization.hadoop.RangerHdfsPlugin.init(RangerHdfsAuthorizer.java:399)
>>>>>>>         at
>>>>>>> org.apache.ranger.authorization.hadoop.RangerHdfsAuthorizer.start(RangerHdfsAuthorizer.java:83)
>>>>>>>         at
>>>>>>> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startCommonServices(FSNamesystem.java:1062)
>>>>>>>         at
>>>>>>> org.apache.hadoop.hdfs.server.namenode.NameNode.startCommonServices(NameNode.java:763)
>>>>>>>         at
>>>>>>> org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:687)
>>>>>>>         at
>>>>>>> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:896)
>>>>>>>         at
>>>>>>> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:880)
>>>>>>>         at
>>>>>>> org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1586)
>>>>>>>         at
>>>>>>> org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1652)
>>>>>>> ###
>>>>>>>
>>>>>>> What does OPER_NOT_ALLOWED_FOR_ENTITY means ?
>>>>>>> Which user is the operator for the hdfs plugin ?
>>>>>>> Is it the user created for the plugin (in the property Ranger
>>>>>>> repository config user) ?
>>>>>>>
>>>>>>> I enabled the SSL for HDFS plugin following the HW doc here :
>>>>>>>
>>>>>>> http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.4.2/bk_Security_Guide/content/ch04s18s02s04s01.html
>>>>>>>
>>>>>>> Do you think my problem could come from an error from my SSL
>>>>>>> configuration ?
>>>>>>>
>>>>>>> If I summarize what i did :
>>>>>>>
>>>>>>> I have :
>>>>>>> - one node with the namenode
>>>>>>> - one node with ranger (admin + usersync)
>>>>>>>
>>>>>>> On the namenode host, I created a plugin keystore.
>>>>>>> This keystore contains the certificate for the alias rangerHdfsAgent.
>>>>>>> ###
>>>>>>> cd /etc/hadoop/conf
>>>>>>> keytool -genkey -keyalg RSA -alias rangerHdfsAgent -keystore
>>>>>>> /etc/hadoop/conf/ranger-plugin-keystore.jks -validity 3600 -keysize 2048
>>>>>>> -dname
>>>>>>> 'cn=HdfsPlugin,ou=<mycompany>,o=<mycompany>,l=<mycity>,st=<mycountry>,c=<idcountry>'
>>>>>>> chown hdfs:hdfs /etc/hadoop/conf/ranger-plugin-keystore.jks
>>>>>>> chmod 400 /etc/hadoop/conf/ranger-plugin-keystore.jks
>>>>>>> ###
>>>>>>>
>>>>>>> On the Ranger host, I exported the certificate for the alias
>>>>>>> rangeradmin from the admin keystore.
>>>>>>> ###
>>>>>>> keytool -export -keystore
>>>>>>> /etc/ranger/admin/conf/ranger-admin-keystore.jks -alias rangeradmin 
>>>>>>> -file
>>>>>>> /etc/ranger/admin/conf/ranger-admin-trust.cer
>>>>>>> ###
>>>>>>>
>>>>>>> Then I transfered the cer file from the ranger host to the namenode
>>>>>>> host.
>>>>>>>
>>>>>>> On the namenode host, I imported the certificate of the alias
>>>>>>> rangeradmin into the plugin truststore. (the truststore was not yet
>>>>>>> existing)
>>>>>>> ###
>>>>>>> keytool -import -file /etc/hadoop/conf/ranger-admin-trust.cer -alias
>>>>>>> rangeradmintrust -keystore /etc/hadoop/conf/ranger-plugin-truststore.jks
>>>>>>> chown hdfs:hdfs /etc/hadoop/conf/ranger-plugin-truststore.jks
>>>>>>> chmod 400 /etc/hadoop/conf/ranger-plugin-truststore.jks
>>>>>>> ###
>>>>>>>
>>>>>>> On the namenode host, I exported the certificate for the alias
>>>>>>> rangerHdfsAgent from the plugin keystore.
>>>>>>> ###
>>>>>>> keytool -export -keystore
>>>>>>> /etc/hadoop/conf/ranger-plugin-keystore.jks -alias rangerHdfsAgent -file
>>>>>>> /etc/hadoop/conf/ranger-hdfsAgent-trust.cer
>>>>>>> ###
>>>>>>>
>>>>>>> Then I transfered the ranger-hdfsAgent-trust.cer file from the
>>>>>>> namenode host to the ranger host.
>>>>>>>
>>>>>>> On the ranger host, I imported the certificate for the alias
>>>>>>> rangerHdfsAgent in the admin truststore (the truststore was not yet
>>>>>>> existing).
>>>>>>> ###
>>>>>>> keytool -import -file
>>>>>>> /etc/ranger/admin/conf/ranger-hdfsAgent-trust.cer -alias
>>>>>>> rangerHdfsAgentTrust -keystore
>>>>>>> /etc/ranger/admin/conf/ranger-admin-truststore.jks
>>>>>>> chown ranger:ranger
>>>>>>> /etc/ranger/admin/conf/ranger-admin-truststore.jks
>>>>>>> chmod 400 /etc/ranger/admin/conf/ranger-admin-truststore.jks
>>>>>>> ###
>>>>>>>
>>>>>>> In the Ambari UI, I added the CN HdfsPlugin in the property "Common
>>>>>>> Name For Certificate".
>>>>>>>
>>>>>>> In the Ranger Admin UI, I checked that, in the repository
>>>>>>> definition, there is also this property with the right value.
>>>>>>>
>>>>>>> Do you think Is there something wrong ?
>>>>>>>
>>>>>>> BR.
>>>>>>>
>>>>>>> Lune.
>>>>>>>
>>>>>>>
>>>>>>> On Tue, May 17, 2016 at 3:45 PM, Lune Silver <
>>>>>>> lunescar.ran...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hello !
>>>>>>>>
>>>>>>>> I just enabled the HDFS plugin for Ranger.
>>>>>>>> The repository was created by Ambari (2.2.1 with HDP cluster 2.3.2).
>>>>>>>>
>>>>>>>> In the Ranger Admin UI, in the repository edit window, when I check
>>>>>>>> on the button "test connection", I have the following error message :
>>>>>>>> ###
>>>>>>>> Unable to connect repository with given config for
>>>>>>>> <MYCLUSTER>_hadoop
>>>>>>>> ###
>>>>>>>>
>>>>>>>> And I can see this in the logs :
>>>>>>>> ###
>>>>>>>> 2016-05-17 15:41:49,895 [http-bio-6182-exec-5] ERROR
>>>>>>>> org.apache.ranger.biz.ServiceMgr (ServiceMgr.java:120) - ==>
>>>>>>>> ServiceMgr.validateConfig 
>>>>>>>> Error:java.util.concurrent.ExecutionException:
>>>>>>>> org.apache.ranger.plugin.client.HadoopException: listFilesInternal: 
>>>>>>>> Unable
>>>>>>>> to get listing of files for directory /null] from Hadoop environment
>>>>>>>> [<MYCLUSTER>_hadoop].
>>>>>>>> ###
>>>>>>>>
>>>>>>>> Any idea about why this test connection fails ?
>>>>>>>>
>>>>>>>> BR.
>>>>>>>>
>>>>>>>> Lune.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to