Fixed that classpath problem with changing the classpath problem. This is
very hacky but i am left with no option because of lack maven artifact of
hbase-security jar in 0.94.
Now, the class is:
java -cp
"/etc/hbase/conf:.:../sqlline-1.1.2.jar:../jline-2.11.jar:/opt/cloudera/parcels/CDH/lib/hbase/hbase-0.94.15-cdh4.6.0-security.jar:/opt/cloudera/parcels/CDH/lib/hbase/lib/*:/opt/cloudera/parcels/CDH/lib/hadoop/*:/opt/cloudera/parcels/CDH/lib/hadoop/lib/*:../phoenix-core-3.0.0-SNAPSHOT.jar:$phoenix_client_jar"
-Dlog4j.configuration=file:$current_dir/log4j.properties sqlline.SqlLine -d
org.apache.phoenix.jdbc.PhoenixDriver -u jdbc:phoenix:$1 -n none -p none
--color=true --fastConnect=false --verbose=true
--isolation=TRANSACTION_READ_COMMITTED $sqlfile

Now, i am able to connect! Phew!!


On Mon, Apr 21, 2014 at 7:10 PM, anil gupta <[email protected]> wrote:

> Wow! Moving /etc/hbase/conf to the very beginning of your class
> path(before the "." current folder). Do you know why this behavior?
> Initially, i was using /etc/hbase/conf but it was mind boggling to me that
> conf was not getting picked so i tried a fluke with "/etc/hbase/conf/*".
> Now, its able to get distributed cluster conf.  However, now i get
> NoSuchMethodError error:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *2014-04-21 18:58:01 DEBUG SecureClient:263 - Connecting to
> pprfihbdb406.corp.intuit.net/10.164.74.157:60000
> <http://pprfihbdb406.corp.intuit.net/10.164.74.157:60000>java.lang.NoSuchMethodError:
> org.apache.hadoop.net.NetUtils.getInputStream(Ljava/net/Socket;)Lorg/apache/hadoop/net/SocketInputWrapper;
>     at
> org.apache.hadoop.hbase.ipc.SecureClient$SecureConnection.setupIOstreams(SecureClient.java:270)
> at
> org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1141)
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:988)
> at
> org.apache.hadoop.hbase.ipc.SecureRpcEngine$Invoker.invoke(SecureRpcEngine.java:107)
> at com.sun.proxy.$Proxy5.getProtocolVersion(Unknown Source)    at
> org.apache.hadoop.hbase.ipc.SecureRpcEngine.getProxy(SecureRpcEngine.java:149)
>     at
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:813)
> at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:127)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:617)
>     at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:844)
> at
> org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:988)
> at
> org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:384)
>     at
> org.apache.phoenix.compile.CreateTableCompiler$2.execute(CreateTableCompiler.java:168)
> at
> org.apache.phoenix.jdbc.PhoenixStatement$ExecutableCreateTableStatement.executeUpdate(PhoenixStatement.java:350)
>     at
> org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1047)
>     at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1039)
> at
> org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:79)
> at
> org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:107)
>     at sqlline.SqlLine$DatabaseConnection.connect(SqlLine.java:4650)    at
> sqlline.SqlLine$DatabaseConnection.getConnection(SqlLine.java:4701)    at
> sqlline.SqlLine$Commands.connect(SqlLine.java:3942)    at
> sqlline.SqlLine$Commands.connect(SqlLine.java:3851)     at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:606)    at
> sqlline.SqlLine$ReflectiveCommandHandler.execute(SqlLine.java:2810)    at
> sqlline.SqlLine.dispatch(SqlLine.java:817)    at
> sqlline.SqlLine.initArgs(SqlLine.java:633)     at
> sqlline.SqlLine.begin(SqlLine.java:680)    at
> sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:441)    at
> sqlline.SqlLine.main(SqlLine.java:424)sqlline version 1.1.2*
>
>
>
>
> *I feel like i am close to making it work. My gut feeling is that this is
> related some incompatible jar file or hadoop1/hadoop2 profile. I am using
> Hadoop 2.0.0-cdh4.6.0. Please let me know if i need to pass some params
> while building phoenix on my machine. Right now, i am just doing "mvn clean
> install" to build. *
> Thanks for help!
> Anil
>
>
>
>
> On Mon, Apr 21, 2014 at 2:16 PM, Jeffrey Zhong <[email protected]>wrote:
>
>>
>> Hey Anil,
>>
>> In classpath, when you point to configuration files, you can only specify
>> folder name(in your case it should be /etc/hbase/conf). The wildcard "*"
>> only works for files with extension .jar. In addition, you can move the
>> /etc/hbase/conf to the very beginning of your class path(before the "."
>> current folder)
>>
>> -Jeffrey
>>
>> On 4/21/14 10:32 AM, "anil gupta" <[email protected]> wrote:
>>
>> >$1= <zk>:<keytab>:<principal>
>> >
>> >This work is part of https://issues.apache.org/jira/browse/PHOENIX-19 .
>> >So,
>> >i modified the connection string to extra params. The patch is attached
>> to
>> >the jira. I'll also upload the most recent patch.
>> >
>> >I also tried your recommendation:
>> >$1= <zk>:<port>:<root_dir>:<keytab>:<principal>
>> >
>> >Still, i get the same error. It seems like the conf files for my
>> >distributed cluster is not getting picked up or some other conf file is
>> >also present in the classpath. Is there anyway i can specify the exact
>> >path
>> >of conf file in java code so that i can debug this? Or Is there a way to
>> >know which files Configuration is using to instantiate the Configuration
>> >object?
>> >
>> >
>> >On Mon, Apr 21, 2014 at 9:57 AM, Jeffrey Zhong
>> ><[email protected]>wrote:
>> >
>> >>
>> >> What's the value for your following "$1"? You need to specify the value
>> >>as
>> >> <hbase zookeeper quorum host string(without port)>:<zookeeper
>> >>port>:<hbase
>> >> root node>
>> >>
>> >> A sample value is quorumhost1,quoruamhost2,quorumhost3:2181:/hbase
>> >>
>> >> On 4/21/14 12:48 AM, "anil gupta" <[email protected]> wrote:
>> >>
>> >> >Hi All,
>> >> >
>> >> >Phoenix is trying to connect to a Standalone hbase rather than my
>> Fully
>> >> >distributed HBase cluster. Hence, it is getting
>> >>MasterNotRunningException.
>> >> >
>> >> >This is my current command to invoke Phoenix:
>> >> >java -cp
>> >>
>>
>> >>>".:/etc/hbase/conf/*:../sqlline-1.1.2.jar:../jline-2.11.jar:../phoenix-c
>> >>>or
>> >>
>>
>> >>>e-3.0.0-SNAPSHOT.jar:$phoenix_client_jar:/opt/cloudera/parcels/CDH/lib/h
>> >>>ba
>> >>
>>
>> >>>se/hbase-0.94.15-cdh4.6.0-security.jar:/opt/cloudera/parcels/CDH/lib/hba
>> >>>se
>> >>
>>
>> >>>/lib/*:/opt/cloudera/parcels/CDH/lib/hadoop/*:/opt/cloudera/parcels/CDH/
>> >>>li
>> >> >b/hadoop/lib/*"
>> >> >-Dlog4j.configuration=file:$current_dir/log4j.properties
>> >>sqlline.SqlLine
>> >> >-d
>> >> >org.apache.phoenix.jdbc.PhoenixDriver -u jdbc:phoenix:$1 -n none -p
>> >>none
>> >> >--color=true --fastConnect=false --verbose=true
>> >> >--isolation=TRANSACTION_READ_COMMITTED $sqlfile
>> >> >
>> >> >As you can see that i have added /etc/hbase/conf/* in classpath. I
>> also
>> >> >verified that correct files are present in /etc/hbase/conf/ folder.
>> >>Then
>> >> >also Phoenix is not picking up the conf and its trying to connect to
>> >>local
>> >> >cluster where hbase.rootdir="file:///tmp/hbase-intuit/hbase" . I am
>> >>unable
>> >> >to figure out why Phoenix is not picking up the conf. IMO, adding
>> >> >/etc/hbase/conf/* in classpath should be enough but it seems like this
>> >>is
>> >> >not sufficient. Any ideas/suggestions on how to make Phoenix pick up
>> >>the
>> >> >correct configuration?
>> >> >
>> >> >Thanks,
>> >> >Anil Gupta
>> >> >
>> >> >
>> >> >On Sun, Apr 20, 2014 at 11:47 PM, anil gupta <[email protected]>
>> >> >wrote:
>> >> >
>> >> >> It seems like Phoenix is unable to connect to master. I am able to
>> >>use
>> >> >> hbase shell from that node. So, everything should be fine. I have
>> >>also
>> >> >> included hbase conf directories in classpath. Is there any other
>> >>thing
>> >> >>i am
>> >> >> missing?
>> >> >>
>> >> >> This is the error i got:
>> >> >>
>> >> >> Found quorum: pprf1:2181,pprf2:2181,pprf3:2181,pprf4:2181,pprf5:2181
>> >> >> Error: Retried 14 times (state=08000,code=101)
>> >> >> org.apache.phoenix.exception.PhoenixIOException: Retried 14 times
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java
>> >>>>:9
>> >> >>9)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated
>> >>>>(C
>> >> >>onnectionQueryServicesImpl.java:680)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(Connec
>> >>>>ti
>> >> >>onQueryServicesImpl.java:821)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataCl
>> >>>>ie
>> >> >>nt.java:988)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.jav
>> >>>>a:
>> >> >>384)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>org.apache.phoenix.compile.CreateTableCompiler$2.execute(CreateTableCom
>> >>>>pi
>> >> >>ler.java:168)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>org.apache.phoenix.jdbc.PhoenixStatement$ExecutableCreateTableStatement
>> >>>>.e
>> >> >>xecuteUpdate(PhoenixStatement.java:350)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement
>> >>>>.j
>> >> >>ava:1047)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQue
>> >>>>ry
>> >> >>ServicesImpl.java:1016)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(Phoeni
>> >>>>xD
>> >> >>river.java:79)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDr
>> >>>>iv
>> >> >>er.java:107)
>> >> >>     at sqlline.SqlLine$DatabaseConnection.connect(SqlLine.java:4650)
>> >> >>     at
>> >> >>sqlline.SqlLine$DatabaseConnection.getConnection(SqlLine.java:4701)
>> >> >>     at sqlline.SqlLine$Commands.connect(SqlLine.java:3942)
>> >> >>     at sqlline.SqlLine$Commands.connect(SqlLine.java:3851)
>> >> >>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja
>> >>>>va
>> >> >>:57)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
>> >>>>rI
>> >> >>mpl.java:43)
>> >> >>     at java.lang.reflect.Method.invoke(Method.java:606)
>> >> >>     at
>> >> >>sqlline.SqlLine$ReflectiveCommandHandler.execute(SqlLine.java:2810)
>> >> >>     at sqlline.SqlLine.dispatch(SqlLine.java:817)
>> >> >>     at sqlline.SqlLine.initArgs(SqlLine.java:633)
>> >> >>     at sqlline.SqlLine.begin(SqlLine.java:680)
>> >> >>     at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:441)
>> >> >>     at sqlline.SqlLine.main(SqlLine.java:424)
>> >> >> Caused by: org.apache.hadoop.hbase.MasterNotRunningException:
>> >>Retried 14
>> >> >> times
>> >> >>     at
>> >> >>
>> org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:139)
>> >> >>     at
>> >> >>
>> >>
>>
>> >>>>org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated
>> >>>>(C
>> >> >>onnectionQueryServicesImpl.java:606)
>> >> >>     ... 23 more
>> >> >>
>> >> >>
>> >> >>
>> >> >> On Sun, Apr 20, 2014 at 9:18 PM, anil gupta <[email protected]>
>> >> >>wrote:
>> >> >>
>> >> >>> I just fixed couple of  initialization errors by putting phoenix
>> >>jars,
>> >> >>> sqlline and jline jars before hbase jars in classpath and added
>> >>Hadoop
>> >> >>> jars. Now the command is:
>> >> >>> *java -cp
>> >> >>>
>> >>
>>
>> >>>>>".:/etc/hadoop/conf:/etc/hbase/conf:../sqlline-1.1.2.jar:../jline-2.11
>> >>>>>.j
>> >>
>>
>> >>>>>ar:../phoenix-core-3.0.0-SNAPSHOT.jar:$phoenix_client_jar:/opt/clouder
>> >>>>>a/
>> >>
>>
>> >>>>>parcels/CDH/lib/hbase/hbase-0.94.15-cdh4.6.0-security.jar:/opt/clouder
>> >>>>>a/
>> >>
>>
>> >>>>>parcels/CDH/lib/hbase/lib/*:/opt/cloudera/parcels/CDH/lib/hadoop/*:/op
>> >>>>>t/
>> >> >>>cloudera/parcels/CDH/lib/hadoop/lib/*"
>> >> >>> *-Dlog4j.configuration=file:$current_dir/log4j.properties
>> >> >>> sqlline.SqlLine -d org.apache.phoenix.jdbc.PhoenixDriver -u
>> >> >>>jdbc:phoenix:$1
>> >> >>> -n none -p none --color=true --fastConnect=false --verbose=true
>> >> >>> --isolation=TRANSACTION_READ_COMMITTED $sqlfile
>> >> >>>
>> >> >>> At present, it seems like the classpath errors are fixed. I see
>> >>this on
>> >> >>> the console, but its stuck at this line.:
>> >> >>> Found quorum:
>> pprf1:2181,pprf2:2181,pprf3:2181,pprf4:2181,pprf5:2181
>> >> >>>
>> >> >>> Can anyone tell me where it is probably stuck?
>> >> >>>
>> >> >>> Thanks,
>> >> >>> Anil Gupta
>> >> >>>
>> >> >>>
>> >> >>> On Sun, Apr 20, 2014 at 9:02 PM, anil gupta
>> >> >>><[email protected]>wrote:
>> >> >>>
>> >> >>>> Hi All,
>> >> >>>>
>> >> >>>> Due to issues faced in Phoenix-19 we cannot use
>> >> >>>> phoenix-3.0.0-SNAPSHOT-client.jar, i am trying to run Phoenix on
>> >> >>>> commandline with phoenix-3.0.0-SNAPSHOT-client-without-hbase.jar.
>> >> >>>>Modified
>> >> >>>> command to invoke phoenix in sqlline.sh looks like this:
>> >> >>>> java -cp "
>> >> >>>>
>> >>
>>
>> >>>>>>*.:/etc/hadoop/conf:/etc/hbase/conf:/opt/cloudera/parcels/CDH/lib/hba
>> >>>>>>se
>> >>
>>
>> >>>>>>/hbase-0.94.15-cdh4.6.0-security.jar:/opt/cloudera/parcels/CDH/lib/hb
>> >>>>>>as
>> >>
>>
>> >>>>>>e/lib/*:../sqlline-1.1.2.jar:../jline-2.11.jar:../phoenix-core-3.0.0-
>> >>>>>>SN
>> >> >>>>APSHOT.jar*:$phoenix_client_jar"
>> >> >>>> -Dlog4j.configuration=file:$current_dir/log4j.properties
>> >> >>>>sqlline.SqlLine -d
>> >> >>>> org.apache.phoenix.jdbc.PhoenixDriver -u jdbc:phoenix:$1 -n none
>> -p
>> >> >>>>none
>> >> >>>> --color=true --fastConnect=false --verbose=true
>> >> >>>> --isolation=TRANSACTION_READ_COMMITTED $sqlfile
>> >> >>>>
>> >> >>>> At present, i get the following error:
>> >> >>>> [ERROR] Terminal initialization failed; falling back to
>> unsupported
>> >> >>>> java.lang.IncompatibleClassChangeError: Found class
>> jline.Terminal,
>> >> >>>>but
>> >> >>>> interface was expected
>> >> >>>>     at jline.TerminalFactory.create(TerminalFactory.java:101)
>> >> >>>>     at jline.TerminalFactory.get(TerminalFactory.java:159)
>> >> >>>>     at sqlline.SqlLine$Opts.<init>(SqlLine.java:4846)
>> >> >>>>     at sqlline.SqlLine.<init>(SqlLine.java:175)
>> >> >>>>     at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:440)
>> >> >>>>     at sqlline.SqlLine.main(SqlLine.java:424)
>> >> >>>>
>> >> >>>> Exception in thread "main" java.lang.IncompatibleClassChangeError:
>> >> >>>>Found
>> >> >>>> class jline.Terminal, but interface was expected
>> >> >>>>     at sqlline.SqlLine$Opts.<init>(SqlLine.java:4846)
>> >> >>>>     at sqlline.SqlLine.<init>(SqlLine.java:175)
>> >> >>>>     at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:440)
>> >> >>>>     at sqlline.SqlLine.main(SqlLine.java:424)
>> >> >>>>
>> >> >>>> Please let me know what am i missing now? Or What's wrong with the
>> >> >>>> initialization command?
>> >> >>>> I am using cdh4.6 with HBase0.94.15.
>> >> >>>>
>> >> >>>>
>> >> >>>> --
>> >> >>>> Thanks & Regards,
>> >> >>>> Anil Gupta
>> >> >>>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> --
>> >> >>> Thanks & Regards,
>> >> >>> Anil Gupta
>> >> >>>
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Thanks & Regards,
>> >> >> Anil Gupta
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> >--
>> >> >Thanks & Regards,
>> >> >Anil Gupta
>> >>
>> >>
>> >>
>> >> --
>> >> CONFIDENTIALITY NOTICE
>> >> NOTICE: This message is intended for the use of the individual or
>> >>entity to
>> >> which it is addressed and may contain information that is confidential,
>> >> privileged and exempt from disclosure under applicable law. If the
>> >>reader
>> >> of this message is not the intended recipient, you are hereby notified
>> >>that
>> >> any printing, copying, dissemination, distribution, disclosure or
>> >> forwarding of this communication is strictly prohibited. If you have
>> >> received this communication in error, please contact the sender
>> >>immediately
>> >> and delete it from your system. Thank You.
>> >>
>> >
>> >
>> >
>> >--
>> >Thanks & Regards,
>> >Anil Gupta
>>
>>
>>
>> --
>> CONFIDENTIALITY NOTICE
>> NOTICE: This message is intended for the use of the individual or entity
>> to
>> which it is addressed and may contain information that is confidential,
>> privileged and exempt from disclosure under applicable law. If the reader
>> of this message is not the intended recipient, you are hereby notified
>> that
>> any printing, copying, dissemination, distribution, disclosure or
>> forwarding of this communication is strictly prohibited. If you have
>> received this communication in error, please contact the sender
>> immediately
>> and delete it from your system. Thank You.
>>
>
>
>
> --
> Thanks & Regards,
> Anil Gupta
>



-- 
Thanks & Regards,
Anil Gupta

Reply via email to