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-core-3.0.0-SNAPSHOT.jar:$phoenix_client_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/*" -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:99) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:680) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:821) > 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:1016) > 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) > 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(ConnectionQueryServicesImpl.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.jar:../phoenix-core-3.0.0-SNAPSHOT.jar:$phoenix_client_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/*" >> *-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/hbase/hbase-0.94.15-cdh4.6.0-security.jar:/opt/cloudera/parcels/CDH/lib/hbase/lib/*:../sqlline-1.1.2.jar:../jline-2.11.jar:../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 >>> >>> 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
