peng.jianhua created RANGER-1681:
------------------------------------

             Summary: 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


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)

Reply via email to