phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From anil gupta <anilgupt...@gmail.com>
Subject Re: Phoenix Storage Not Working on AWS EMR 5.8.0
Date Mon, 21 Aug 2017 21:24:27 GMT
And forgot to mention that we invoke our pig scripts through oozie.

On Mon, Aug 21, 2017 at 2:20 PM, anil gupta <anilgupta84@gmail.com> wrote:

> Sorry, cant share the pig script.
> Here is what we are registering:
> REGISTER /usr/lib/phoenix/phoenix-4.7.0-HBase-1.2-client.jar;
> REGISTER /usr/lib/pig/lib/piggybank.jar;
>
>
> Following is the classpath of Hadoop and Yarn:
> [hadoop@ip-52-143 ~]$ hadoop classpath
> /etc/hadoop/conf:/usr/lib/hadoop/lib/*:/usr/lib/hadoop/.
> //*:/usr/lib/hadoop-hdfs/./:/usr/lib/hadoop-hdfs/lib/*:/
> usr/lib/hadoop-hdfs/.//*:/usr/lib/hadoop-yarn/lib/*:/usr/
> lib/hadoop-yarn/.//*:/usr/lib/hadoop-mapreduce/lib/*:/usr/
> lib/hadoop-mapreduce/.//*::/etc/tez/conf:/usr/lib/tez/*:/
> usr/lib/tez/lib/*:/usr/lib/hadoop-lzo/lib/*:/usr/share/
> aws/aws-java-sdk/*:/usr/share/aws/emr/emrfs/conf:/usr/share/
> aws/emr/emrfs/lib/*:/usr/share/aws/emr/emrfs/auxlib/*:/
> usr/share/aws/emr/ddb/lib/emr-ddb-hadoop.jar:/usr/share/aws/
> emr/goodies/lib/emr-hadoop-goodies.jar:/usr/share/aws/
> emr/kinesis/lib/emr-kinesis-hadoop.jar:/usr/share/aws/emr/
> cloudwatch-sink/lib/*:/usr/share/aws/emr/security/conf:/
> usr/share/aws/emr/security/lib/*
> [hadoop@ip-52-143 ~]$ yarn classpath
> /etc/hadoop/conf:/etc/hadoop/conf:/etc/hadoop/conf:/usr/
> lib/hadoop/lib/*:/usr/lib/hadoop/.//*:/usr/lib/hadoop-
> hdfs/./:/usr/lib/hadoop-hdfs/lib/*:/usr/lib/hadoop-hdfs/.//
> *:/usr/lib/hadoop-yarn/lib/*:/usr/lib/hadoop-yarn/.//*:/usr/
> lib/hadoop-mapreduce/lib/*:/usr/lib/hadoop-mapreduce/.//*:
> :/etc/tez/conf:/usr/lib/tez/*:/usr/lib/tez/lib/*:/usr/lib/
> hadoop-lzo/lib/*:/usr/share/aws/aws-java-sdk/*:/usr/share/
> aws/emr/emrfs/conf:/usr/share/aws/emr/emrfs/lib/*:/usr/
> share/aws/emr/emrfs/auxlib/*:/usr/share/aws/emr/ddb/lib/emr-
> ddb-hadoop.jar:/usr/share/aws/emr/goodies/lib/emr-hadoop-
> goodies.jar:/usr/share/aws/emr/kinesis/lib/emr-kinesis-
> hadoop.jar:/usr/share/aws/emr/cloudwatch-sink/lib/*:/usr/
> share/aws/emr/security/conf:/usr/share/aws/emr/security/
> lib/*:/usr/lib/hadoop-yarn/.//*:/usr/lib/hadoop-yarn/lib/*
>
>
>
> On Mon, Aug 21, 2017 at 11:21 AM, Steve Terrell <sterrell@oculus360.us>
> wrote:
>
>> Hmm...  just repeated my test on emr-5.2.0.  This time I went with the
>> default EMR console selections for master and core nodes (2 of them).
>>
>> When running my simple Pig Phoenix store script, still getting the errors
>> I got for other 5.x.x versions:
>> 2017-08-21 17:50:52,431 [ERROR] [main] |app.DAGAppMaster|: Error starting
>> DAGAppMaster
>> java.lang.NoSuchMethodError: org.apache.hadoop.yarn.api.rec
>> ords.ContainerId.fromString(Ljava/lang/String;)Lorg/
>> apache/hadoop/yarn/api/records/ContainerId;
>> at org.apache.hadoop.yarn.util.ConverterUtils.toContainerId(Con
>> verterUtils.java:179)
>> at org.apache.tez.dag.app.DAGAppMaster.main(DAGAppMaster.java:2304)
>>
>> The simple test script:
>> REGISTER /usr/lib/phoenix/phoenix-client.jar;
>> A = load '/steve/a.txt' as (TXT:chararray);
>> store A into 'hbase://A_TABLE' using org.apache.phoenix.pig.Phoenix
>> HBaseStorage('10.0.100.51','-batchSize 2500');
>>
>> Calling directly from the command line like
>> pig try.pig
>>
>> Maybe other people are calling their Phoenix Pig script some other way
>> (EMR steps) or with different parameters?  Details where this works would
>> really help out a lot.
>>
>> Thanks,
>>     Steve
>>
>> On Mon, Aug 21, 2017 at 10:23 AM, Steve Terrell <sterrell@oculus360.us>
>> wrote:
>>
>>> Anil,
>>>
>>> That's good news (about 5.2).  Any chance I could see your
>>>
>>>    - full pig command line
>>>    - PIG_CLASSPATH env variable
>>>    - pig script or at least the REGISTER and PhoenixHBaseStorage()
>>>    lines?
>>>
>>> Might help me figure out what I'm doing wrong or differently.
>>>
>>> One thing I did not mention because I thought it should not matter is
>>> that to avoid extra costs while testing, I was only running a master node
>>> with no slaves (no task or core nodes).  Maybe lack of slaves causes
>>> problems not normally seen.  Interesting...
>>>
>>> Thanks so much,
>>>     Steve
>>>
>>>
>>> On Sun, Aug 20, 2017 at 11:04 AM, anil gupta <anilgupta84@gmail.com>
>>> wrote:
>>>
>>>> Hey Steve,
>>>>
>>>> We are currently using EMR5.2 and pig-phoenix is working fine for us.
>>>> We are gonna try EMR5.8 next week.
>>>>
>>>> HTH,
>>>> Anil
>>>>
>>>> On Fri, Aug 18, 2017 at 9:00 AM, Steve Terrell <sterrell@oculus360.us>
>>>> wrote:
>>>>
>>>>> More info...
>>>>>
>>>>> By trial and error, I tested different EMR versions and made a little
>>>>> incomplete list of which ones support Pig Phoenix storage and which ones
>>>>> don't:
>>>>>
>>>>> emr-5.8.0 JacksonJaxbJsonProvider error
>>>>> emr-5.6.0 JacksonJaxbJsonProvider error
>>>>> emr-5.4.0 JacksonJaxbJsonProvider error
>>>>> emr-5.3.1 ContainerId.fromString() error
>>>>> emr-5.3.0 ContainerId.fromString() error
>>>>> emr-5.0.0 ContainerId.fromString() error
>>>>> emr-4.9.2 Works!
>>>>> emr-4.7.0 Works!
>>>>>
>>>>> I ran out of time trying to get 5.8.0 working, so will start using
>>>>> 4.9.2.  But I would like to switch to 5.8.0 if anyone has a solution.
>>>>> Meanwhile, I hope this list saves other people some time and headache.
>>>>>
>>>>> Thanks,
>>>>>     Steve
>>>>>
>>>>> On Thu, Aug 17, 2017 at 2:40 PM, Steve Terrell <sterrell@oculus360.us>
>>>>> wrote:
>>>>>
>>>>>> I'm running EMR 5.8.0 with these applications installed:
>>>>>> Pig 0.16.0, Phoenix 4.11.0, HBase 1.3.1
>>>>>>
>>>>>> Here is my pig script (try.pig):
>>>>>>
>>>>>> REGISTER /usr/lib/phoenix/phoenix-4.11.0-HBase-1.3-client.jar;
>>>>>> A = load '/steve/a.txt' as (TXT:chararray);
>>>>>> store A into 'hbase://A_TABLE' using org.apache.phoenix.pig.Phoenix
>>>>>> HBaseStorage('10.0.100.51','-batchSize 2500');
>>>>>>
>>>>>> I run it like this from the command line:
>>>>>> pig try.pig
>>>>>>
>>>>>> When it fails, I dig into the hadoop task logs and find this:
>>>>>> 2017-08-17 19:11:37,539 [ERROR] [main] |app.DAGAppMaster|: Error
>>>>>> starting DAGAppMaster
>>>>>> java.lang.NoClassDefFoundError: org/apache/phoenix/shaded/org/
>>>>>> codehaus/jackson/jaxrs/JacksonJaxbJsonProvider
>>>>>> at java.lang.ClassLoader.defineClass1(Native Method)
>>>>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
>>>>>> at java.security.SecureClassLoader.defineClass(SecureClassLoade
>>>>>> r.java:142)
>>>>>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
>>>>>> at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
>>>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
>>>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>>>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>>>>> at org.apache.hadoop.yarn.client.api.impl.TimelineClientImpl.se
>>>>>> rviceInit(TimelineClientImpl.java:269)
>>>>>> at org.apache.hadoop.service.AbstractService.init(AbstractServi
>>>>>> ce.java:163)
>>>>>> at org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingServ
>>>>>> ice.serviceInit(ATSHistoryLoggingService.java:102)
>>>>>> at org.apache.hadoop.service.AbstractService.init(AbstractServi
>>>>>> ce.java:163)
>>>>>> at org.apache.hadoop.service.CompositeService.serviceInit(Compo
>>>>>> siteService.java:107)
>>>>>> at org.apache.tez.dag.history.HistoryEventHandler.serviceInit(H
>>>>>> istoryEventHandler.java:73)
>>>>>> at org.apache.hadoop.service.AbstractService.init(AbstractServi
>>>>>> ce.java:163)
>>>>>> at org.apache.tez.dag.app.DAGAppMaster.initServices(DAGAppMaste
>>>>>> r.java:1922)
>>>>>> at org.apache.tez.dag.app.DAGAppMaster.serviceInit(DAGAppMaster
>>>>>> .java:624)
>>>>>> at org.apache.hadoop.service.AbstractService.init(AbstractServi
>>>>>> ce.java:163)
>>>>>> at org.apache.tez.dag.app.DAGAppMaster$8.run(DAGAppMaster.java:2557)
>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>> at javax.security.auth.Subject.doAs(Subject.java:422)
>>>>>> at org.apache.hadoop.security.UserGroupInformation.doAs(UserGro
>>>>>> upInformation.java:1698)
>>>>>> at org.apache.tez.dag.app.DAGAppMaster.initAndStartAppMaster(DA
>>>>>> GAppMaster.java:2554)
>>>>>> at org.apache.tez.dag.app.DAGAppMaster.main(DAGAppMaster.java:2359)
>>>>>> Caused by: java.lang.ClassNotFoundException:
>>>>>> org.apache.phoenix.shaded.org.codehaus.jackson.jaxrs.Jackson
>>>>>> JaxbJsonProvider
>>>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>>>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>>>>> ... 28 more
>>>>>>
>>>>>> Has anyone been able to get org.apache.phoenix.pig.PhoenixHBaseStorage()
>>>>>> to work on recent EMR versions? Please help if you can.
>>>>>>
>>>>>> Thank you,
>>>>>>     Steve
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Thanks & Regards,
>>>> Anil Gupta
>>>>
>>>
>>>
>>
>
>
> --
> Thanks & Regards,
> Anil Gupta
>



-- 
Thanks & Regards,
Anil Gupta

Mime
View raw message