You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ranger.apache.org by "Bhavik Patel (Jira)" <ji...@apache.org> on 2023/04/24 11:19:00 UTC
[jira] [Comment Edited] (RANGER-4201) Hbase master can't start due to ranger-hbase-plugin jersey jar conflict
[ https://issues.apache.org/jira/browse/RANGER-4201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17715721#comment-17715721 ]
Bhavik Patel edited comment on RANGER-4201 at 4/24/23 11:18 AM:
----------------------------------------------------------------
Kindly check : https://issues.apache.org/jira/browse/RANGER-4176
We are not observing any such error, can you compare the plugins lib tree with below.
{code:java}
total 40372
-rw-r--r--. 1 root root 8632395 Apr 20 06:54 eclipselink-2.5.2.jar
-rw-r--r--. 1 root root 13052737 Apr 20 06:54 elasticsearch-7.10.2.jar
-rw-r--r--. 1 root root 60064 Apr 20 06:54 elasticsearch-core-7.10.2.jar
-rw-r--r--. 1 root root 66224 Apr 20 06:54 elasticsearch-rest-client-7.10.2.jar
-rw-r--r--. 1 root root 1682704 Apr 20 06:54 elasticsearch-rest-high-level-client-7.10.2.jar
-rw-r--r--. 1 root root 142972 Apr 20 06:54 elasticsearch-x-content-7.10.2.jar
-rw-r--r--. 1 root root 4179 Apr 20 06:54 gethostname4j-0.0.2.jar
-rw-r--r--. 1 root root 2747878 Apr 20 06:54 guava-27.0-jre.jar
-rw-r--r--. 1 root root 1193515 Apr 20 06:54 hppc-0.8.0.jar
-rw-r--r--. 1 root root 179964 Apr 20 06:54 httpasyncclient-4.1.4.jar
-rw-r--r--. 1 root root 41790 Apr 20 06:54 httpmime-4.5.13.jar
-rw-r--r--. 1 root root 162126 Apr 20 06:54 javax.persistence-2.1.0.jar
-rw-r--r--. 1 root root 133824 Apr 20 06:54 jersey-client-1.19.3.jar
-rw-r--r--. 1 root root 434518 Apr 20 06:54 jersey-core-1.19.3.jar
-rw-r--r--. 1 root root 704349 Apr 20 06:54 jersey-server-1.19.3.jar
-rw-r--r--. 1 root root 327914 Apr 20 06:54 jetty-client-9.4.49.v20220914.jar
-rw-r--r--. 1 root root 1488769 Apr 20 06:54 jna-5.2.0.jar
-rw-r--r--. 1 root root 2527218 Apr 20 06:54 jna-platform-5.2.0.jar
-rw-r--r--. 1 root root 643778 Apr 20 06:54 joda-time-2.10.6.jar
-rw-r--r--. 1 root root 63705 Apr 20 06:54 lang-mustache-client-7.10.2.jar
-rw-r--r--. 1 root root 3300764 Apr 20 06:54 lucene-core-8.4.0.jar
-rw-r--r--. 1 root root 101913 Apr 20 06:54 ranger-hbase-plugin-2.1.0.3.2.2.4-1.jar
-rw-r--r--. 1 root root 210461 Apr 20 06:54 ranger-plugins-audit-2.1.0.3.2.2.4-1.jar
-rw-r--r--. 1 root root 896800 Apr 20 06:54 ranger-plugins-common-2.1.0.3.2.2.4-1.jar
-rw-r--r--. 1 root root 20368 Apr 20 06:54 ranger-plugins-cred-2.1.0.3.2.2.4-1.jar
-rw-r--r--. 1 root root 82835 Apr 20 06:54 rank-eval-client-7.10.2.jar
-rw-r--r--. 1 root root 2391561 Apr 20 06:54 solr-solrj-8.11.2.jar {code}
was (Author: bpatel):
This is already fixed and available in RANAGER-3.0.0
Kindly check : https://issues.apache.org/jira/browse/RANGER-4176
> Hbase master can't start due to ranger-hbase-plugin jersey jar conflict
> ------------------------------------------------------------------------
>
> Key: RANGER-4201
> URL: https://issues.apache.org/jira/browse/RANGER-4201
> Project: Ranger
> Issue Type: Bug
> Components: Ranger
> Affects Versions: 2.3.0, 2.4.0
> Reporter: caijialiang
> Priority: Major
>
> hbase version 2.4.13
> ranger version 2.4
> hbase master can't start after installed ranger-hbase-plugin
>
> {code:java}
> ERROR [master/gs-server-13481:16000:becomeActiveMaster] master.HMaster: ***** ABORTING master gs-server-13481,16000,1681377561702: The coprocessor org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor threw java.lang.ExceptionInIniti
> alizerError *****
> java.lang.ExceptionInInitializerError
> at com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders(MessageBodyFactory.java:182)
> at com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders(MessageBodyFactory.java:175)
> at com.sun.jersey.core.spi.factory.MessageBodyFactory.init(MessageBodyFactory.java:162)
> at com.sun.jersey.api.client.Client.init(Client.java:343)
> at com.sun.jersey.api.client.Client.access$000(Client.java:119)
> at com.sun.jersey.api.client.Client$1.f(Client.java:192)
> at com.sun.jersey.api.client.Client$1.f(Client.java:188)
> at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
> at com.sun.jersey.api.client.Client.<init>(Client.java:188)
> at com.sun.jersey.api.client.Client.<init>(Client.java:171)
> at com.sun.jersey.api.client.Client.create(Client.java:683)
> at org.apache.ranger.plugin.util.RangerRESTClient.buildClient(RangerRESTClient.java:228)
> at org.apache.ranger.plugin.util.RangerRESTClient.getClient(RangerRESTClient.java:193)
> at org.apache.ranger.plugin.util.RangerRESTClient.get(RangerRESTClient.java:473)
> at org.apache.ranger.admin.client.RangerAdminRESTClient.getRangerRolesDownloadResponse(RangerAdminRESTClient.java:1340)
> at org.apache.ranger.admin.client.RangerAdminRESTClient.getRolesIfUpdatedWithCred(RangerAdminRESTClient.java:1202)
> at org.apache.ranger.admin.client.RangerAdminRESTClient.getRolesIfUpdated(RangerAdminRESTClient.java:167)
> at org.apache.ranger.plugin.util.RangerRolesProvider.loadUserGroupRolesFromAdmin(RangerRolesProvider.java:183)
> at org.apache.ranger.plugin.util.RangerRolesProvider.loadUserGroupRoles(RangerRolesProvider.java:123)
> at org.apache.ranger.plugin.util.PolicyRefresher.loadRoles(PolicyRefresher.java:495)
> at org.apache.ranger.plugin.util.PolicyRefresher.startRefresher(PolicyRefresher.java:144)
> at org.apache.ranger.plugin.service.RangerBasePlugin.init(RangerBasePlugin.java:245)
> at org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor.start(RangerAuthorizationCoprocessor.java:1120)
> at org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor.start(RangerAuthorizationCoprocessor.java:160)
> at org.apache.hadoop.hbase.coprocessor.BaseEnvironment.startup(BaseEnvironment.java:69)
> at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.checkAndLoadInstance(CoprocessorHost.java:285)
> at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.loadSystemCoprocessors(CoprocessorHost.java:171)
> at org.apache.hadoop.hbase.master.MasterCoprocessorHost.<init>(MasterCoprocessorHost.java:155)
> at org.apache.hadoop.hbase.master.HMaster.initializeCoprocessorHost(HMaster.java:3870)
> at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:902)
> at org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2175)
> at org.apache.hadoop.hbase.master.HMaster.lambda$run$0(HMaster.java:520)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.glassfish.jersey.internal.RuntimeDelegateImpl
> at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:130)
> at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:97)
> at javax.ws.rs.core.MediaType.valueOf(MediaType.java:172)
> at com.sun.jersey.core.header.MediaTypes.<clinit>(MediaTypes.java:65)
> ... 33 more
> Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.internal.RuntimeDelegateImpl
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:87)
> at javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:185)
> at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:112)
> ... 36 more
> {code}
>
> The HBase library depends on the javax.ws.rs-api-2.1.1.jar which loads the org.glassfish.jersey.internal.RuntimeDelegateImpl class. However, this class is only available in the Jersey 2 library. Therefore, when the HBase Ranger plugin includes the jersey-client and jersey-core 1.x libraries, it pollutes the HBase RuntimeDelegate loading.
>
> This issue is described in the HBase issue tracker: https://issues.apache.org/jira/browse/HBASE-22052
>
> To reproduce this issue, install the HBase Ranger plugins for Ranger 2.4 on HBase 2.x and enable the Ranger plugin by adding the following configuration properties: hbase.coprocessor.master.classes org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor
> hbase.coprocessor.region.classes org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor
> hbase.coprocessor.regionserver.classes org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor Then, restart the HBase cluster.
> Solution: When packaging hbase-agent in the distro module, modify the assembly descriptor file src/main/assembly/hbase-agent.xml of hbase-agent. Remove jersey core and jersey client from the includes section so that hbase 2 can load its own jersey2-related packages.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)