You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ranger.apache.org by "peng.jianhua (JIRA)" <ji...@apache.org> on 2017/07/10 06:59:00 UTC

[jira] [Updated] (RANGER-1681) Now ranger's kerberos configuration item relies directly on the configuration of the hadoop component. When the HDFS opens other functions such as HA, the test connection of hbase will fail

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

peng.jianhua updated RANGER-1681:
---------------------------------
    Attachment: 0001-RANGER-1681.patch

> Now ranger's kerberos configuration item relies directly on the configuration of the hadoop component. When the HDFS opens other functions such as HA, the test connection of hbase will fail
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: RANGER-1681
>                 URL: https://issues.apache.org/jira/browse/RANGER-1681
>             Project: Ranger
>          Issue Type: Bug
>          Components: admin, Ranger
>            Reporter: peng.jianhua
>            Assignee: peng.jianhua
>              Labels: patch
>         Attachments: 0001-RANGER-1681.patch
>
>
> Currently, ragner-admin opens kerberos switch:
> 1.Configure the ranger-admin install.properties file:
> {code}
> 	hadoop_conf=/etc/hadoop/conf
> {code}
> 2.Read the configuration items in the hadoop configuration file core-site.xml:
> {code}
> 	<property>
> 		<name>hadoop.security.authentication</name>
> 		<value>kerberos</value>
> 	</property>
> {code}
> However, when ranger-admin opened kerberos,and the HDFS opens the HA function,
> hbase-plugin service tests connection failure ,this is because ranger and hadoop shared the same kerberos switch configuration file which caused a series of unnecessary dependencies
> {code}
> 2017-06-22 08:14:44,518 INFO org.apache.ranger.services.hbase.client.HBaseClient: HBase connection has [zookeeper.znode.parent] with value [/hbase]
> 2017-06-22 08:14:44,520 INFO org.apache.ranger.plugin.client.BaseClient: Init Login: security not enabled, using username
> 2017-06-22 08:14:44,581 INFO org.apache.ranger.services.hbase.client.HBaseClient: getHBaseStatus: creating default Hbase configuration
> 2017-06-22 08:14:44,582 INFO org.apache.ranger.services.hbase.client.HBaseClient: getHBaseStatus: setting config values from client
> 2017-06-22 08:14:44,582 INFO org.apache.ranger.services.hbase.client.HBaseClient: getHBaseStatus: checking HbaseAvailability with the new config
> 2017-06-22 08:14:44,923 WARN org.apache.zookeeper.ClientCnxn: SASL configuration failed: javax.security.auth.login.LoginException: No JAAS configuration section named 'Client' was found in specified JAAS configuration file: '/dev/null'. Will continue connection to Zookeeper server without SASL authentication, if Zookeeper server allows it.
> 2017-06-22 08:14:45,033 ERROR org.apache.ranger.services.hbase.client.HBaseClient: getHBaseStatus: Unable to check availability of Hbase environment [hbasedev].java.io.IOException: java.lang.reflect.InvocationTargetException
> 2017-06-22 08:14:45,033 ERROR org.apache.ranger.services.hbase.client.HBaseClient: <== HBaseClient.testConnection(): Unable to retrieve any databases using given parameters
> org.apache.ranger.plugin.client.HadoopException: getHBaseStatus: Unable to check availability of Hbase environment [hbasedev].
> 	at org.apache.ranger.services.hbase.client.HBaseClient$1.run(HBaseClient.java:175)
> 	at org.apache.ranger.services.hbase.client.HBaseClient$1.run(HBaseClient.java:128)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at javax.security.auth.Subject.doAs(Subject.java:356)
> 	at org.apache.ranger.services.hbase.client.HBaseClient.getHBaseStatus(HBaseClient.java:128)
> 	at org.apache.ranger.services.hbase.client.HBaseClient.connectionTest(HBaseClient.java:100)
> 	at org.apache.ranger.services.hbase.client.HBaseResourceMgr.connectionTest(HBaseResourceMgr.java:47)
> 	at org.apache.ranger.services.hbase.RangerServiceHBase.validateConfig(RangerServiceHBase.java:59)
> 	at org.apache.ranger.biz.ServiceMgr$ValidateCallable.actualCall(ServiceMgr.java:560)
> 	at org.apache.ranger.biz.ServiceMgr$ValidateCallable.actualCall(ServiceMgr.java:547)
> 	at org.apache.ranger.biz.ServiceMgr$TimedCallable.call(ServiceMgr.java:508)
> 	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.io.IOException: java.lang.reflect.InvocationTargetException
> 	at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:240)
> 	at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:218)
> 	at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:119)
> 	at org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:2916)
> 	at org.apache.ranger.services.hbase.client.HBaseClient$1.run(HBaseClient.java:138)
> 	... 14 more
> Caused by: java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> 	at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238)
> 	... 18 more
> Caused by: java.lang.ExceptionInInitializerError
> 	at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64)
> 	at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:75)
> 	at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:105)
> 	at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:880)
> 	at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:636)
> 	... 23 more
> Caused by: java.lang.IllegalArgumentException: java.net.UnknownHostException: nameservice
> 	at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:377)
> 	at org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxies.java:320)
> 	at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:176)
> 	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:692)
> 	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:633)
> 	at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149)
> 	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2694)
> 	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:100)
> 	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2728)
> 	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2710)
> 	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:384)
> 	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:178)
> 	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:368)
> 	at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)
> 	at org.apache.hadoop.hbase.util.DynamicClassLoader.initTempDir(DynamicClassLoader.java:120)
> 	at org.apache.hadoop.hbase.util.DynamicClassLoader.<init>(DynamicClassLoader.java:98)
> 	at org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit>(ProtobufUtil.java:241)
> 	... 28 more
> Caused by: java.net.UnknownHostException: nameservice
> 	... 45 more
> 2017-06-22 08:14:45,034 ERROR org.apache.ranger.services.hbase.client.HBaseResourceMgr: <== HBaseResourceMgr.connectionTest() Error: org.apache.ranger.plugin.client.HadoopException: getHBaseStatus: Unable to check availability of Hbase environment [hbasedev].
> 2017-06-22 08:14:45,034 ERROR org.apache.ranger.services.hbase.RangerServiceHBase: <== RangerServiceHBase.validateConfig() Error:org.apache.ranger.plugin.client.HadoopException: getHBaseStatus: Unable to check availability of Hbase environment [hbasedev].
> 2017-06-22 08:14:45,034 ERROR org.apache.ranger.biz.ServiceMgr: TimedCallable.call: Error:org.apache.ranger.plugin.client.HadoopException: getHBaseStatus: Unable to check availability of Hbase environment [hbasedev].
> 2017-06-22 08:14:45,035 ERROR org.apache.ranger.biz.ServiceMgr: ==> ServiceMgr.validateConfig Error:org.apache.ranger.plugin.client.HadoopException: org.apache.ranger.plugin.client.HadoopException: getHBaseStatus: Unable to check availability of Hbase environment [hbasedev].
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)