[
https://issues.apache.org/jira/browse/NIFI-1712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15248593#comment-15248593
]
Tom Stewart commented on NIFI-1712:
-----------------------------------
I thought I would share my experience on this issue as I had the same thing
running HDP 2.4.0 and Nifi 0.60. I copied my
/usr/hdp/2.4.0.0-169/phoenix/phoenix-4.4.0.2.4.0.0-169-client.jar file into
$NIFI_HOME/work/nar/extensions/nifi-hbase_1_1_2-client-service-nar-0.6.0.nar-unpacked/META-INF/bundled-dependencies
and that allowed my HBaseClientService to work after restarting my NiFi nodes
(I have a cluster).
I believe a negative side-effect of this was that all of my PutHDFS processors
stopped working. They got this error with the Phoenix jar in place:
{noformat}
2016-04-19 15:17:34,837 WARN [Clustering Tasks Thread-3]
o.a.n.controller.StandardProcessorNode Failed during validation
java.lang.ClassCastException:
org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to
org.apache.xerces.xni.parser.XMLParserConfiguration
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
~[xercesImpl-2.9.1.jar:na]
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
~[xercesImpl-2.9.1.jar:na]
at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source)
~[xercesImpl-2.9.1.jar:na]
at
org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown
Source) ~[xercesImpl-2.9.1.jar:na]
at
org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2482)
~[hadoop-common-2.6.2.jar:na]
at
org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2444)
~[hadoop-common-2.6.2.jar:na]
at
org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2361)
~[hadoop-common-2.6.2.jar:na]
at org.apache.hadoop.conf.Configuration.get(Configuration.java:968)
~[hadoop-common-2.6.2.jar:na]
at
org.apache.nifi.hadoop.SecurityUtil.isSecurityEnabled(SecurityUtil.java:84)
~[nifi-hadoop-utils-0.6.0.jar:0.6.0]
at
org.apache.nifi.hadoop.KerberosProperties.validatePrincipalAndKeytab(KerberosProperties.java:121)
~[nifi-hadoop-utils-0.6.0.jar:0.6.0]
at
org.apache.nifi.processors.hadoop.AbstractHadoopProcessor.customValidate(AbstractHadoopProcessor.java:154)
~[nifi-hdfs-processors-0.6.0.jar:0.6.0]
at
org.apache.nifi.components.AbstractConfigurableComponent.validate(AbstractConfigurableComponent.java:123)
~[nifi-api-0.6.0.jar:0.6.0]
at
org.apache.nifi.controller.StandardProcessorNode.isValid(StandardProcessorNode.java:911)
~[nifi-framework-core-0.6.0.jar:0.6.0]
at
org.apache.nifi.controller.FlowController.getProcessorStatus(FlowController.java:2529)
[nifi-framework-core-0.6.0.jar:0.6.0]
at
org.apache.nifi.controller.FlowController.getGroupStatus(FlowController.java:2146)
[nifi-framework-core-0.6.0.jar:0.6.0]
at
org.apache.nifi.controller.FlowController.getGroupStatus(FlowController.java:2162)
[nifi-framework-core-0.6.0.jar:0.6.0]
at
org.apache.nifi.controller.FlowController.getGroupStatus(FlowController.java:2162)
[nifi-framework-core-0.6.0.jar:0.6.0]
at
org.apache.nifi.controller.FlowController.getGroupStatus(FlowController.java:2162)
[nifi-framework-core-0.6.0.jar:0.6.0]
at
org.apache.nifi.controller.FlowController$HeartbeatMessageGeneratorTask.createHeartbeatMessage(FlowController.java:3819)
[nifi-framework-core-0.6.0.jar:0.6.0]
at
org.apache.nifi.controller.FlowController$HeartbeatMessageGeneratorTask.run(FlowController.java:3802)
[nifi-framework-core-0.6.0.jar:0.6.0]
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[na:1.8.0_71]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
[na:1.8.0_71]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
[na:1.8.0_71]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
[na:1.8.0_71]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_71]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_71]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_71]
{noformat}
I believe this is a collision of the xerces parser contained in the Phoenix
jar. Why it is affecting PutHDFS when I put it into the HBase client service, I
am not sure. But thought it may be worth sharing in case it impacts your
suggested fix for this JIRA.
> HBaseClientService unable to connect when Phoenix is installed
> --------------------------------------------------------------
>
> Key: NIFI-1712
> URL: https://issues.apache.org/jira/browse/NIFI-1712
> Project: Apache NiFi
> Issue Type: Bug
> Reporter: Bryan Bende
> Priority: Minor
>
> A user reported running HDP 2.3.2 with Phoenix installed, and NiFi 0.6.0,
> with the following error:
>
> 2016-03-31 13:24:23,916 INFO [StandardProcessScheduler Thread-5]
> o.a.nifi.hbase.HBase_1_1_2_ClientService
> HBase_1_1_2_ClientService[id=e7e9b2ed-d336-34be-acb4-6c8b60c735c2] HBase
> Security Enabled, logging in as principal [email protected] with keytab
> /app/env/nifi.keytab
> 2016-03-31 13:24:23,984 WARN [StandardProcessScheduler Thread-5]
> org.apache.hadoop.util.NativeCodeLoader Unable to load native-hadoop library
> for your platform... using builtin-java classes where applicable
> 2016-03-31 13:24:24,101 INFO [StandardProcessScheduler Thread-5]
> o.a.nifi.hbase.HBase_1_1_2_ClientService
> HBase_1_1_2_ClientService[id=e7e9b2ed-d336-34be-acb4-6c8b60c735c2]
> Successfully logged in as principal [email protected] with keytab
> /app/env/nifi.keytab
> 2016-03-31 13:24:24,177 ERROR [StandardProcessScheduler Thread-5]
> o.a.n.c.s.StandardControllerServiceNode
> HBase_1_1_2_ClientService[id=e7e9b2ed-d336-34be-acb4-6c8b60c735c2] Failed to
> invoke @OnEnabled method due to java.io.IOException:
> java.lang.reflect.InvocationTargetException
> 2016-03-31 13:24:24,182 ERROR [StandardProcessScheduler Thread-5]
> o.a.n.c.s.StandardControllerServiceNode
> java.io.IOException: java.lang.reflect.InvocationTargetException
> at
> org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:240)
> ~[hbase-client-1.1.2.jar:1.1.2]
> at
> org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:218)
> ~[hbase-client-1.1.2.jar:1.1.2]
> at
> org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:119)
> ~[hbase-client-1.1.2.jar:1.1.2]
> at
> org.apache.nifi.hbase.HBase_1_1_2_ClientService$1.run(HBase_1_1_2_ClientService.java:215)
> ~[nifi-hbase_1_1_2-client-service-0.6.0.jar:0.6.0]
> at
> org.apache.nifi.hbase.HBase_1_1_2_ClientService$1.run(HBase_1_1_2_ClientService.java:212)
> ~[nifi-hbase_1_1_2-client-service-0.6.0.jar:0.6.0]
> at java.security.AccessController.doPrivileged(Native Method)
> ~[na:1.8.0_71]
> at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_71]
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1656)
> ~[hadoop-common-2.6.2.jar:na]
> at
> org.apache.nifi.hbase.HBase_1_1_2_ClientService.createConnection(HBase_1_1_2_ClientService.java:212)
> ~[nifi-hbase_1_1_2-client-service-0.6.0.jar:0.6.0]
> at
> org.apache.nifi.hbase.HBase_1_1_2_ClientService.onEnabled(HBase_1_1_2_ClientService.java:161)
> ~[nifi-hbase_1_1_2-client-service-0.6.0.jar:0.6.0]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ~[na:1.8.0_71]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> ~[na:1.8.0_71]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[na:1.8.0_71]
> at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_71]
> at
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:137)
> ~[na:na]
> at
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:125)
> ~[na:na]
> at
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:70)
> ~[na:na]
> at
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:47)
> ~[na:na]
> at
> org.apache.nifi.controller.service.StandardControllerServiceNode$1.run(StandardControllerServiceNode.java:285)
> ~[na:na]
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> [na:1.8.0_71]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> [na:1.8.0_71]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> [na:1.8.0_71]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> [na:1.8.0_71]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [na:1.8.0_71]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_71]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_71]
> Caused by: java.lang.reflect.InvocationTargetException: null
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method) ~[na:1.8.0_71]
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> ~[na:1.8.0_71]
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> ~[na:1.8.0_71]
> at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
> ~[na:1.8.0_71]
> at
> org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238)
> ~[hbase-client-1.1.2.jar:1.1.2]
> ... 25 common frames omitted
> Caused by: java.lang.UnsupportedOperationException: Unable to find
> org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory
> at
> org.apache.hadoop.hbase.util.ReflectionUtils.instantiateWithCustomCtor(ReflectionUtils.java:36)
> ~[hbase-common-1.1.2.jar:1.1.2]
> at
> org.apache.hadoop.hbase.ipc.RpcControllerFactory.instantiate(RpcControllerFactory.java:58)
> ~[hbase-client-1.1.2.jar:1.1.2]
> at
> org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.createAsyncProcess(ConnectionManager.java:2242)
> ~[hbase-client-1.1.2.jar:1.1.2]
> at
> org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:690)
> ~[hbase-client-1.1.2.jar:1.1.2]
> at
> org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:630)
> ~[hbase-client-1.1.2.jar:1.1.2]
> ... 30 common frames omitted
> Caused by: java.lang.ClassNotFoundException:
> org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> ~[na:1.8.0_71]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> ~[na:1.8.0_71]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> ~[na:1.8.0_71]
> at java.lang.Class.forName0(Native Method) ~[na:1.8.0_71]
> at java.lang.Class.forName(Class.java:264) ~[na:1.8.0_71]
> at
> org.apache.hadoop.hbase.util.ReflectionUtils.instantiateWithCustomCtor(ReflectionUtils.java:32)
> ~[hbase-common-1.1.2.jar:1.1.2]
> ... 34 common frames omitted
> 2016-03-31 13:24:24,184 ERROR [StandardProcessScheduler Thread-5]
> o.a.n.c.s.StandardControllerServiceNode Failed to invoke @OnEnabled method of
> HBase_1_1_2_ClientService[id=e7e9b2ed-d336-34be-acb4-6c8b60c735c2] due to
> java.io.IOException: java.lang.reflect.InvocationTargetException
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)