You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by Vaghawan Ojha <va...@gmail.com> on 2017/12/07 05:55:48 UTC

Problem With QueryServer In SQL Line Thin Client.

Hi,

I'm facing a weird problem with queryserver. When I start the queryserver,
the log says that the service is listening in the port 8765, everything
looks fine.

But when I try to use the queryserver, the error like this prompts up.

n$ python sqlline-thin.py localhost:8765
Failed to extract serialization from hbase-site.xml, defaulting to PROTOBUF.
Setting property: [incremental, false]
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect
jdbc:phoenix:thin:url=http://localhost:8765;serialization=PROTOBUF
none none org.apache.phoenix.queryserver.client.Driver
Connecting to jdbc:phoenix:thin:url=http://localhost:8765;serialization
=PROTOBUF
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/home/saque/hadoopec/phoenix/apache-phoenix-4.12.0-HBase-1.2-bin/phoenix-4.12.0-HBase-1.2-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/home/saque/hadoopec/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
explanation.
AvaticaClientRuntimeException: Remote driver error: RuntimeException:
java.sql.SQLException: No suitable driver found for localhost ->
SQLException: No suitable driver found for localhost. Error -1 (00000) null

java.lang.RuntimeException: java.sql.SQLException: No suitable driver found
for localhost

The same queryserver was running before the server was restarted. This
happens all the time, when I restart the server. The hadoop classpath and
hbase classpath are there. The sqlline with zookeper port works fine.

When I do: python sqlline.py localhost:2181. It works. However when I do
python sqlline-thin.py localhost:8765, it throws such errors.

Any help would be great, I'm using apache-phoenix-4.12.0-HBase-1.2 .

Thanks in advance
Vaghawan

Re: Problem With QueryServer In SQL Line Thin Client.

Posted by Josh Elser <el...@apache.org>.
Weird, but glad you got it figured out.

PQS pulls the (thick) PhoenixDriver from the phoenix-client.jar you have 
in your Phoenix installation. Perhaps you had accidentally moved the jar 
aside and restarted PQS leaving PQS running without that jar? Hard to 
say, but that's my only guess.

On 12/8/17 7:18 AM, Vaghawan Ojha wrote:
> Hi Josh,
> 
> I fixed it by specifying the host where the query server was running 
> while doing python queryserver.py stop.
> 
> Something like this: python queryserver.py stop localhost:8765
> 
> And again started normally, it started working.
> 
> Thanks a lot.
> Vaghawan
> 
> On Fri, Dec 8, 2017 at 7:38 AM, Vaghawan Ojha <vaghawan781@gmail.com 
> <ma...@gmail.com>> wrote:
> 
>     Hi Josh,
> 
>     Here's the full stacktrace from PQS, I think its saying the PQS at
>     localhost has an error.
> 
>     python sqlline-thin.py bigdata-namenode:8765
>     Failed to extract serialization from hbase-site.xml, defaulting to
>     PROTOBUF.
>     Setting property: [incremental, false]
>     Setting property: [isolation, TRANSACTION_READ_COMMITTED]
>     issuing: !connect
>     jdbc:phoenix:thin:url=http://bigdata-namenode:8765;serialization=PROTOBUF
>     none none org.apache.phoenix.queryserver.client.Driver
>     Connecting to
>     jdbc:phoenix:thin:url=http://bigdata-namenode:8765;serialization=PROTOBUF
>     SLF4J: Class path contains multiple SLF4J bindings.
>     SLF4J: Found binding in
>     [jar:file:/home/saque/hadoopec/phoenix/apache-phoenix-4.12.0-HBase-1.2-bin/phoenix-4.12.0-HBase-1.2-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>     SLF4J: Found binding in
>     [jar:file:/home/saque/hadoopec/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>     SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings
>     <http://www.slf4j.org/codes.html#multiple_bindings> for an explanation.
>     AvaticaClientRuntimeException: Remote driver error:
>     RuntimeException: java.sql.SQLException: No suitable driver found
>     for localhost -> SQLException: No suitable driver found for
>     localhost. Error -1 (00000) null
> 
>     java.lang.RuntimeException: java.sql.SQLException: No suitable
>     driver found for localhost
>     at
>     org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:621)
>     at
>     org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:285)
>     at
>     org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1771)
>     at
>     org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1751)
>     at
>     org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:94)
>     at
>     org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:46)
>     at
>     org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:127)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.Server.handle(Server.java:499)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.io
>     <http://eclipse.jetty.io>.AbstractConnection$2.run(AbstractConnection.java:544)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
>     at java.lang.Thread.run(Thread.java:748)
>     Caused by: java.sql.SQLException: No suitable driver found for localhost
>     at java.sql.DriverManager.getConnection(DriverManager.java:689)
>     at java.sql.DriverManager.getConnection(DriverManager.java:208)
>     at
>     org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:618)
>     ... 15 more
> 
> 
>     at
>     org.apache.calcite.avatica.remote.Service$ErrorResponse.toException(Service.java:2476)
>     at
>     org.apache.calcite.avatica.remote.RemoteProtobufService._apply(RemoteProtobufService.java:63)
>     at
>     org.apache.calcite.avatica.remote.ProtobufService.apply(ProtobufService.java:81)
>     at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:176)
>     at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
>     at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
>     at sqlline.Commands.connect(Commands.java:1064)
>     at sqlline.Commands.connect(Commands.java:996)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
>     sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>     at
>     sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:498)
>     at
>     sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
>     at sqlline.SqlLine.dispatch(SqlLine.java:809)
>     at sqlline.SqlLine.initArgs(SqlLine.java:588)
>     at sqlline.SqlLine.begin(SqlLine.java:661)
>     at sqlline.SqlLine.start(SqlLine.java:398)
>     at sqlline.SqlLine.main(SqlLine.java:291)
>     at
>     org.apache.phoenix.queryserver.client.SqllineWrapper.main(SqllineWrapper.java:93)
>     sqlline version 1.2.0
>     0: jdbc:phoenix:thin:url=http://bigdata-namen
>     <http://bigdata-namen>> !quit
>     AvaticaClientRuntimeException: Remote driver error:
>     RuntimeException: java.sql.SQLException: No suitable driver found
>     for localhost -> SQLException: No suitable driver found for
>     localhost. Error -1 (00000) null
> 
>     java.lang.RuntimeException: java.sql.SQLException: No suitable
>     driver found for localhost
>     at
>     org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:621)
>     at
>     org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:285)
>     at
>     org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1771)
>     at
>     org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1751)
>     at
>     org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:94)
>     at
>     org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:46)
>     at
>     org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:127)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.Server.handle(Server.java:499)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.io
>     <http://eclipse.jetty.io>.AbstractConnection$2.run(AbstractConnection.java:544)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
>     at java.lang.Thread.run(Thread.java:748)
>     Caused by: java.sql.SQLException: No suitable driver found for localhost
>     at java.sql.DriverManager.getConnection(DriverManager.java:689)
>     at java.sql.DriverManager.getConnection(DriverManager.java:208)
>     at
>     org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:618)
>     ... 15 more
> 
> 
>     at
>     org.apache.calcite.avatica.remote.Service$ErrorResponse.toException(Service.java:2476)
>     at
>     org.apache.calcite.avatica.remote.RemoteProtobufService._apply(RemoteProtobufService.java:63)
>     at
>     org.apache.calcite.avatica.remote.ProtobufService.apply(ProtobufService.java:81)
>     at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:176)
>     at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
>     at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
>     at sqlline.Commands.close(Commands.java:906)
>     at sqlline.Commands.quit(Commands.java:870)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
>     sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>     at
>     sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:498)
>     at
>     sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
>     at sqlline.SqlLine.dispatch(SqlLine.java:809)
>     at sqlline.SqlLine.begin(SqlLine.java:686)
>     at sqlline.SqlLine.start(SqlLine.java:398)
>     at sqlline.SqlLine.main(SqlLine.java:291)
>     at
>     org.apache.phoenix.queryserver.client.SqllineWrapper.main(SqllineWrapper.java:93)
>     AvaticaClientRuntimeException: Remote driver error:
>     RuntimeException: java.sql.SQLException: No suitable driver found
>     for localhost -> SQLException: No suitable driver found for
>     localhost. Error -1 (00000) null
> 
>     java.lang.RuntimeException: java.sql.SQLException: No suitable
>     driver found for localhost
>     at
>     org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:621)
>     at
>     org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:285)
>     at
>     org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1771)
>     at
>     org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1751)
>     at
>     org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:94)
>     at
>     org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:46)
>     at
>     org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:127)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.Server.handle(Server.java:499)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.io
>     <http://eclipse.jetty.io>.AbstractConnection$2.run(AbstractConnection.java:544)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
>     at org.apache.phoenix.shaded.org
>     <http://org.apache.phoenix.shaded.org>.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
>     at java.lang.Thread.run(Thread.java:748)
>     Caused by: java.sql.SQLException: No suitable driver found for localhost
>     at java.sql.DriverManager.getConnection(DriverManager.java:689)
>     at java.sql.DriverManager.getConnection(DriverManager.java:208)
>     at
>     org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:618)
>     ... 15 more
> 
> 
>     at
>     org.apache.calcite.avatica.remote.Service$ErrorResponse.toException(Service.java:2476)
>     at
>     org.apache.calcite.avatica.remote.RemoteProtobufService._apply(RemoteProtobufService.java:63)
>     at
>     org.apache.calcite.avatica.remote.ProtobufService.apply(ProtobufService.java:81)
>     at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:176)
>     at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
>     at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
>     at sqlline.Commands.close(Commands.java:906)
>     at sqlline.Commands.closeall(Commands.java:880)
>     at sqlline.SqlLine.begin(SqlLine.java:714)
>     at sqlline.SqlLine.start(SqlLine.java:398)
>     at sqlline.SqlLine.main(SqlLine.java:291)
>     at
>     org.apache.phoenix.queryserver.client.SqllineWrapper.main(SqllineWrapper.java:93)
> 
> 
>     Here the bigdata-namenode is like localhost, it's a host name with a
>     local ip. It neither works with localhost nor with the local ip.
> 
>     Thank you
> 
> 
>     On Thu, Dec 7, 2017 at 10:26 PM, Josh Elser <elserj@apache.org
>     <ma...@apache.org>> wrote:
> 
>         I can't seem to track down that error message to any specific
>         line of code.
> 
>         Do you have a stacktrace in the PQS log? I'm not sure the the
>         message is implying that "localhost" is being interpreted as a
>         class name or if it's saying the PQS at localhost had an error.
>         The more details you can provide, the better.
> 
> 
>         On 12/7/17 12:55 AM, Vaghawan Ojha wrote:
> 
>             Hi,
> 
>             I'm facing a weird problem with queryserver. When I start
>             the queryserver, the log says that the service is listening
>             in the port 8765, everything looks fine.
> 
>             But when I try to use the queryserver, the error like this
>             prompts up.
> 
>             n$ python sqlline-thin.py localhost:8765
>             Failed to extract serialization from hbase-site.xml,
>             defaulting to PROTOBUF.
>             Setting property: [incremental, false]
>             Setting property: [isolation, TRANSACTION_READ_COMMITTED]
>             issuing: !connect
>             jdbc:phoenix:thin:url=http://localhost:8765;serialization=PROTOBUF
>             none none org.apache.phoenix.queryserver.client.Driver
>             Connecting to
>             jdbc:phoenix:thin:url=http://localhost:8765;serialization=PROTOBUF
>             SLF4J: Class path contains multiple SLF4J bindings.
>             SLF4J: Found binding in
>             [jar:file:/home/saque/hadoopec/phoenix/apache-phoenix-4.12.0-HBase-1.2-bin/phoenix-4.12.0-HBase-1.2-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>             SLF4J: Found binding in
>             [jar:file:/home/saque/hadoopec/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>             SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings
>             <http://www.slf4j.org/codes.html#multiple_bindings> for an
>             explanation.
>             AvaticaClientRuntimeException: Remote driver error:
>             RuntimeException: java.sql.SQLException: No suitable driver
>             found for localhost -> SQLException: No suitable driver
>             found for localhost. Error -1 (00000) null
> 
>             java.lang.RuntimeException: java.sql.SQLException: No
>             suitable driver found for localhost
> 
>             The same queryserver was running before the server was
>             restarted. This happens all the time, when I restart the
>             server. The hadoop classpath and hbase classpath are there.
>             The sqlline with zookeper port works fine.
> 
>             When I do: python sqlline.py localhost:2181. It works.
>             However when I do python sqlline-thin.py localhost:8765, it
>             throws such errors.
> 
>             Any help would be great, I'm
>             using apache-phoenix-4.12.0-HBase-1.2 .
> 
>             Thanks in advance
>             Vaghawan
> 
> 
> 

Re: Problem With QueryServer In SQL Line Thin Client.

Posted by Vaghawan Ojha <va...@gmail.com>.
Hi Josh,

I fixed it by specifying the host where the query server was running while
doing python queryserver.py stop.

Something like this: python queryserver.py stop localhost:8765

And again started normally, it started working.

Thanks a lot.
Vaghawan

On Fri, Dec 8, 2017 at 7:38 AM, Vaghawan Ojha <va...@gmail.com> wrote:

> Hi Josh,
>
> Here's the full stacktrace from PQS, I think its saying the PQS at
> localhost has an error.
>
> python sqlline-thin.py bigdata-namenode:8765
> Failed to extract serialization from hbase-site.xml, defaulting to
> PROTOBUF.
> Setting property: [incremental, false]
> Setting property: [isolation, TRANSACTION_READ_COMMITTED]
> issuing: !connect jdbc:phoenix:thin:url=http://bigdata-namenode:8765;serialization=PROTOBUF
> none none org.apache.phoenix.queryserver.client.Driver
> Connecting to jdbc:phoenix:thin:url=http://bigdata-namenode:8765;
> serialization=PROTOBUF
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in [jar:file:/home/saque/hadoopec/phoenix/apache-
> phoenix-4.12.0-HBase-1.2-bin/phoenix-4.12.0-HBase-1.2-thin-
> client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in [jar:file:/home/saque/
> hadoopec/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.
> 10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
> explanation.
> AvaticaClientRuntimeException: Remote driver error: RuntimeException:
> java.sql.SQLException: No suitable driver found for localhost ->
> SQLException: No suitable driver found for localhost. Error -1 (00000) null
>
> java.lang.RuntimeException: java.sql.SQLException: No suitable driver
> found for localhost
> at org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(
> JdbcMeta.java:621)
> at org.apache.calcite.avatica.remote.LocalService.apply(
> LocalService.java:285)
> at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(
> Service.java:1771)
> at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(
> Service.java:1751)
> at org.apache.calcite.avatica.remote.AbstractHandler.apply(
> AbstractHandler.java:94)
> at org.apache.calcite.avatica.remote.ProtobufHandler.apply(
> ProtobufHandler.java:46)
> at org.apache.calcite.avatica.server.AvaticaProtobufHandler.
> handle(AvaticaProtobufHandler.java:127)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.
> HandlerList.handle(HandlerList.java:52)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.
> HandlerWrapper.handle(HandlerWrapper.java:97)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.Server.
> handle(Server.java:499)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpChannel.handle(
> HttpChannel.java:311)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.
> HttpConnection.onFillable(HttpConnection.java:257)
> at org.apache.phoenix.shaded.org.eclipse.jetty.io.
> AbstractConnection$2.run(AbstractConnection.java:544)
> at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.
> QueuedThreadPool.runJob(QueuedThreadPool.java:635)
> at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.
> QueuedThreadPool$3.run(QueuedThreadPool.java:555)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.sql.SQLException: No suitable driver found for localhost
> at java.sql.DriverManager.getConnection(DriverManager.java:689)
> at java.sql.DriverManager.getConnection(DriverManager.java:208)
> at org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(
> JdbcMeta.java:618)
> ... 15 more
>
>
> at org.apache.calcite.avatica.remote.Service$ErrorResponse.
> toException(Service.java:2476)
> at org.apache.calcite.avatica.remote.RemoteProtobufService._
> apply(RemoteProtobufService.java:63)
> at org.apache.calcite.avatica.remote.ProtobufService.apply(
> ProtobufService.java:81)
> at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:176)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
> at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
> at sqlline.Commands.connect(Commands.java:1064)
> at sqlline.Commands.connect(Commands.java:996)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:
> 38)
> at sqlline.SqlLine.dispatch(SqlLine.java:809)
> at sqlline.SqlLine.initArgs(SqlLine.java:588)
> at sqlline.SqlLine.begin(SqlLine.java:661)
> at sqlline.SqlLine.start(SqlLine.java:398)
> at sqlline.SqlLine.main(SqlLine.java:291)
> at org.apache.phoenix.queryserver.client.SqllineWrapper.main(
> SqllineWrapper.java:93)
> sqlline version 1.2.0
> 0: jdbc:phoenix:thin:url=http://bigdata-namen> !quit
> AvaticaClientRuntimeException: Remote driver error: RuntimeException:
> java.sql.SQLException: No suitable driver found for localhost ->
> SQLException: No suitable driver found for localhost. Error -1 (00000) null
>
> java.lang.RuntimeException: java.sql.SQLException: No suitable driver
> found for localhost
> at org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(
> JdbcMeta.java:621)
> at org.apache.calcite.avatica.remote.LocalService.apply(
> LocalService.java:285)
> at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(
> Service.java:1771)
> at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(
> Service.java:1751)
> at org.apache.calcite.avatica.remote.AbstractHandler.apply(
> AbstractHandler.java:94)
> at org.apache.calcite.avatica.remote.ProtobufHandler.apply(
> ProtobufHandler.java:46)
> at org.apache.calcite.avatica.server.AvaticaProtobufHandler.
> handle(AvaticaProtobufHandler.java:127)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.
> HandlerList.handle(HandlerList.java:52)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.
> HandlerWrapper.handle(HandlerWrapper.java:97)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.Server.
> handle(Server.java:499)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpChannel.handle(
> HttpChannel.java:311)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.
> HttpConnection.onFillable(HttpConnection.java:257)
> at org.apache.phoenix.shaded.org.eclipse.jetty.io.
> AbstractConnection$2.run(AbstractConnection.java:544)
> at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.
> QueuedThreadPool.runJob(QueuedThreadPool.java:635)
> at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.
> QueuedThreadPool$3.run(QueuedThreadPool.java:555)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.sql.SQLException: No suitable driver found for localhost
> at java.sql.DriverManager.getConnection(DriverManager.java:689)
> at java.sql.DriverManager.getConnection(DriverManager.java:208)
> at org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(
> JdbcMeta.java:618)
> ... 15 more
>
>
> at org.apache.calcite.avatica.remote.Service$ErrorResponse.
> toException(Service.java:2476)
> at org.apache.calcite.avatica.remote.RemoteProtobufService._
> apply(RemoteProtobufService.java:63)
> at org.apache.calcite.avatica.remote.ProtobufService.apply(
> ProtobufService.java:81)
> at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:176)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
> at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
> at sqlline.Commands.close(Commands.java:906)
> at sqlline.Commands.quit(Commands.java:870)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:
> 38)
> at sqlline.SqlLine.dispatch(SqlLine.java:809)
> at sqlline.SqlLine.begin(SqlLine.java:686)
> at sqlline.SqlLine.start(SqlLine.java:398)
> at sqlline.SqlLine.main(SqlLine.java:291)
> at org.apache.phoenix.queryserver.client.SqllineWrapper.main(
> SqllineWrapper.java:93)
> AvaticaClientRuntimeException: Remote driver error: RuntimeException:
> java.sql.SQLException: No suitable driver found for localhost ->
> SQLException: No suitable driver found for localhost. Error -1 (00000) null
>
> java.lang.RuntimeException: java.sql.SQLException: No suitable driver
> found for localhost
> at org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(
> JdbcMeta.java:621)
> at org.apache.calcite.avatica.remote.LocalService.apply(
> LocalService.java:285)
> at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(
> Service.java:1771)
> at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(
> Service.java:1751)
> at org.apache.calcite.avatica.remote.AbstractHandler.apply(
> AbstractHandler.java:94)
> at org.apache.calcite.avatica.remote.ProtobufHandler.apply(
> ProtobufHandler.java:46)
> at org.apache.calcite.avatica.server.AvaticaProtobufHandler.
> handle(AvaticaProtobufHandler.java:127)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.
> HandlerList.handle(HandlerList.java:52)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.
> HandlerWrapper.handle(HandlerWrapper.java:97)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.Server.
> handle(Server.java:499)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpChannel.handle(
> HttpChannel.java:311)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.
> HttpConnection.onFillable(HttpConnection.java:257)
> at org.apache.phoenix.shaded.org.eclipse.jetty.io.
> AbstractConnection$2.run(AbstractConnection.java:544)
> at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.
> QueuedThreadPool.runJob(QueuedThreadPool.java:635)
> at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.
> QueuedThreadPool$3.run(QueuedThreadPool.java:555)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.sql.SQLException: No suitable driver found for localhost
> at java.sql.DriverManager.getConnection(DriverManager.java:689)
> at java.sql.DriverManager.getConnection(DriverManager.java:208)
> at org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(
> JdbcMeta.java:618)
> ... 15 more
>
>
> at org.apache.calcite.avatica.remote.Service$ErrorResponse.
> toException(Service.java:2476)
> at org.apache.calcite.avatica.remote.RemoteProtobufService._
> apply(RemoteProtobufService.java:63)
> at org.apache.calcite.avatica.remote.ProtobufService.apply(
> ProtobufService.java:81)
> at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:176)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
> at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
> at sqlline.Commands.close(Commands.java:906)
> at sqlline.Commands.closeall(Commands.java:880)
> at sqlline.SqlLine.begin(SqlLine.java:714)
> at sqlline.SqlLine.start(SqlLine.java:398)
> at sqlline.SqlLine.main(SqlLine.java:291)
> at org.apache.phoenix.queryserver.client.SqllineWrapper.main(
> SqllineWrapper.java:93)
>
>
> Here the bigdata-namenode is like localhost, it's a host name with a local
> ip. It neither works with localhost nor with the local ip.
>
> Thank you
>
>
> On Thu, Dec 7, 2017 at 10:26 PM, Josh Elser <el...@apache.org> wrote:
>
>> I can't seem to track down that error message to any specific line of
>> code.
>>
>> Do you have a stacktrace in the PQS log? I'm not sure the the message is
>> implying that "localhost" is being interpreted as a class name or if it's
>> saying the PQS at localhost had an error. The more details you can provide,
>> the better.
>>
>>
>> On 12/7/17 12:55 AM, Vaghawan Ojha wrote:
>>
>>> Hi,
>>>
>>> I'm facing a weird problem with queryserver. When I start the
>>> queryserver, the log says that the service is listening in the port 8765,
>>> everything looks fine.
>>>
>>> But when I try to use the queryserver, the error like this prompts up.
>>>
>>> n$ python sqlline-thin.py localhost:8765
>>> Failed to extract serialization from hbase-site.xml, defaulting to
>>> PROTOBUF.
>>> Setting property: [incremental, false]
>>> Setting property: [isolation, TRANSACTION_READ_COMMITTED]
>>> issuing: !connect jdbc:phoenix:thin:url=http://l
>>> ocalhost:8765;serialization=PROTOBUF none none
>>> org.apache.phoenix.queryserver.client.Driver
>>> Connecting to jdbc:phoenix:thin:url=http://l
>>> ocalhost:8765;serialization=PROTOBUF
>>> SLF4J: Class path contains multiple SLF4J bindings.
>>> SLF4J: Found binding in [jar:file:/home/saque/hadoopec
>>> /phoenix/apache-phoenix-4.12.0-HBase-1.2-bin/phoenix-4.12.0-
>>> HBase-1.2-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>>> SLF4J: Found binding in [jar:file:/home/saque/hadoopec
>>> /hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/or
>>> g/slf4j/impl/StaticLoggerBinder.class]
>>> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
>>> explanation.
>>> AvaticaClientRuntimeException: Remote driver error: RuntimeException:
>>> java.sql.SQLException: No suitable driver found for localhost ->
>>> SQLException: No suitable driver found for localhost. Error -1 (00000) null
>>>
>>> java.lang.RuntimeException: java.sql.SQLException: No suitable driver
>>> found for localhost
>>>
>>> The same queryserver was running before the server was restarted. This
>>> happens all the time, when I restart the server. The hadoop classpath and
>>> hbase classpath are there. The sqlline with zookeper port works fine.
>>>
>>> When I do: python sqlline.py localhost:2181. It works. However when I do
>>> python sqlline-thin.py localhost:8765, it throws such errors.
>>>
>>> Any help would be great, I'm using apache-phoenix-4.12.0-HBase-1.2 .
>>>
>>> Thanks in advance
>>> Vaghawan
>>>
>>
>

Re: Problem With QueryServer In SQL Line Thin Client.

Posted by Vaghawan Ojha <va...@gmail.com>.
Hi Josh,

Here's the full stacktrace from PQS, I think its saying the PQS at
localhost has an error.

python sqlline-thin.py bigdata-namenode:8765
Failed to extract serialization from hbase-site.xml, defaulting to PROTOBUF.
Setting property: [incremental, false]
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect
jdbc:phoenix:thin:url=http://bigdata-namenode:8765;serialization=PROTOBUF
none none org.apache.phoenix.queryserver.client.Driver
Connecting to
jdbc:phoenix:thin:url=http://bigdata-namenode:8765;serialization=PROTOBUF
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/home/saque/hadoopec/phoenix/apache-phoenix-4.12.0-HBase-1.2-bin/phoenix-4.12.0-HBase-1.2-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/home/saque/hadoopec/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
explanation.
AvaticaClientRuntimeException: Remote driver error: RuntimeException:
java.sql.SQLException: No suitable driver found for localhost ->
SQLException: No suitable driver found for localhost. Error -1 (00000) null

java.lang.RuntimeException: java.sql.SQLException: No suitable driver found
for localhost
at
org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:621)
at
org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:285)
at
org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1771)
at
org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1751)
at
org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:94)
at
org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:46)
at
org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:127)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.Server.handle(Server.java:499)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
at
org.apache.phoenix.shaded.org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
at
org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at
org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: No suitable driver found for localhost
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at
org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:618)
... 15 more


at
org.apache.calcite.avatica.remote.Service$ErrorResponse.toException(Service.java:2476)
at
org.apache.calcite.avatica.remote.RemoteProtobufService._apply(RemoteProtobufService.java:63)
at
org.apache.calcite.avatica.remote.ProtobufService.apply(ProtobufService.java:81)
at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:176)
at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
at sqlline.Commands.connect(Commands.java:1064)
at sqlline.Commands.connect(Commands.java:996)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
at sqlline.SqlLine.dispatch(SqlLine.java:809)
at sqlline.SqlLine.initArgs(SqlLine.java:588)
at sqlline.SqlLine.begin(SqlLine.java:661)
at sqlline.SqlLine.start(SqlLine.java:398)
at sqlline.SqlLine.main(SqlLine.java:291)
at
org.apache.phoenix.queryserver.client.SqllineWrapper.main(SqllineWrapper.java:93)
sqlline version 1.2.0
0: jdbc:phoenix:thin:url=http://bigdata-namen> !quit
AvaticaClientRuntimeException: Remote driver error: RuntimeException:
java.sql.SQLException: No suitable driver found for localhost ->
SQLException: No suitable driver found for localhost. Error -1 (00000) null

java.lang.RuntimeException: java.sql.SQLException: No suitable driver found
for localhost
at
org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:621)
at
org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:285)
at
org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1771)
at
org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1751)
at
org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:94)
at
org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:46)
at
org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:127)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.Server.handle(Server.java:499)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
at
org.apache.phoenix.shaded.org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
at
org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at
org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: No suitable driver found for localhost
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at
org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:618)
... 15 more


at
org.apache.calcite.avatica.remote.Service$ErrorResponse.toException(Service.java:2476)
at
org.apache.calcite.avatica.remote.RemoteProtobufService._apply(RemoteProtobufService.java:63)
at
org.apache.calcite.avatica.remote.ProtobufService.apply(ProtobufService.java:81)
at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:176)
at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
at sqlline.Commands.close(Commands.java:906)
at sqlline.Commands.quit(Commands.java:870)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
at sqlline.SqlLine.dispatch(SqlLine.java:809)
at sqlline.SqlLine.begin(SqlLine.java:686)
at sqlline.SqlLine.start(SqlLine.java:398)
at sqlline.SqlLine.main(SqlLine.java:291)
at
org.apache.phoenix.queryserver.client.SqllineWrapper.main(SqllineWrapper.java:93)
AvaticaClientRuntimeException: Remote driver error: RuntimeException:
java.sql.SQLException: No suitable driver found for localhost ->
SQLException: No suitable driver found for localhost. Error -1 (00000) null

java.lang.RuntimeException: java.sql.SQLException: No suitable driver found
for localhost
at
org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:621)
at
org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:285)
at
org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1771)
at
org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1751)
at
org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:94)
at
org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:46)
at
org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:127)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.Server.handle(Server.java:499)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
at
org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
at
org.apache.phoenix.shaded.org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
at
org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at
org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: No suitable driver found for localhost
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at
org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:618)
... 15 more


at
org.apache.calcite.avatica.remote.Service$ErrorResponse.toException(Service.java:2476)
at
org.apache.calcite.avatica.remote.RemoteProtobufService._apply(RemoteProtobufService.java:63)
at
org.apache.calcite.avatica.remote.ProtobufService.apply(ProtobufService.java:81)
at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:176)
at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
at sqlline.Commands.close(Commands.java:906)
at sqlline.Commands.closeall(Commands.java:880)
at sqlline.SqlLine.begin(SqlLine.java:714)
at sqlline.SqlLine.start(SqlLine.java:398)
at sqlline.SqlLine.main(SqlLine.java:291)
at
org.apache.phoenix.queryserver.client.SqllineWrapper.main(SqllineWrapper.java:93)


Here the bigdata-namenode is like localhost, it's a host name with a local
ip. It neither works with localhost nor with the local ip.

Thank you


On Thu, Dec 7, 2017 at 10:26 PM, Josh Elser <el...@apache.org> wrote:

> I can't seem to track down that error message to any specific line of code.
>
> Do you have a stacktrace in the PQS log? I'm not sure the the message is
> implying that "localhost" is being interpreted as a class name or if it's
> saying the PQS at localhost had an error. The more details you can provide,
> the better.
>
>
> On 12/7/17 12:55 AM, Vaghawan Ojha wrote:
>
>> Hi,
>>
>> I'm facing a weird problem with queryserver. When I start the
>> queryserver, the log says that the service is listening in the port 8765,
>> everything looks fine.
>>
>> But when I try to use the queryserver, the error like this prompts up.
>>
>> n$ python sqlline-thin.py localhost:8765
>> Failed to extract serialization from hbase-site.xml, defaulting to
>> PROTOBUF.
>> Setting property: [incremental, false]
>> Setting property: [isolation, TRANSACTION_READ_COMMITTED]
>> issuing: !connect jdbc:phoenix:thin:url=http://l
>> ocalhost:8765;serialization=PROTOBUF none none
>> org.apache.phoenix.queryserver.client.Driver
>> Connecting to jdbc:phoenix:thin:url=http://l
>> ocalhost:8765;serialization=PROTOBUF
>> SLF4J: Class path contains multiple SLF4J bindings.
>> SLF4J: Found binding in [jar:file:/home/saque/hadoopec
>> /phoenix/apache-phoenix-4.12.0-HBase-1.2-bin/phoenix-4.12.
>> 0-HBase-1.2-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>> SLF4J: Found binding in [jar:file:/home/saque/hadoopec
>> /hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/
>> org/slf4j/impl/StaticLoggerBinder.class]
>> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
>> explanation.
>> AvaticaClientRuntimeException: Remote driver error: RuntimeException:
>> java.sql.SQLException: No suitable driver found for localhost ->
>> SQLException: No suitable driver found for localhost. Error -1 (00000) null
>>
>> java.lang.RuntimeException: java.sql.SQLException: No suitable driver
>> found for localhost
>>
>> The same queryserver was running before the server was restarted. This
>> happens all the time, when I restart the server. The hadoop classpath and
>> hbase classpath are there. The sqlline with zookeper port works fine.
>>
>> When I do: python sqlline.py localhost:2181. It works. However when I do
>> python sqlline-thin.py localhost:8765, it throws such errors.
>>
>> Any help would be great, I'm using apache-phoenix-4.12.0-HBase-1.2 .
>>
>> Thanks in advance
>> Vaghawan
>>
>

Re: Problem With QueryServer In SQL Line Thin Client.

Posted by Josh Elser <el...@apache.org>.
I can't seem to track down that error message to any specific line of code.

Do you have a stacktrace in the PQS log? I'm not sure the the message is 
implying that "localhost" is being interpreted as a class name or if 
it's saying the PQS at localhost had an error. The more details you can 
provide, the better.

On 12/7/17 12:55 AM, Vaghawan Ojha wrote:
> Hi,
> 
> I'm facing a weird problem with queryserver. When I start the 
> queryserver, the log says that the service is listening in the port 
> 8765, everything looks fine.
> 
> But when I try to use the queryserver, the error like this prompts up.
> 
> n$ python sqlline-thin.py localhost:8765
> Failed to extract serialization from hbase-site.xml, defaulting to PROTOBUF.
> Setting property: [incremental, false]
> Setting property: [isolation, TRANSACTION_READ_COMMITTED]
> issuing: !connect 
> jdbc:phoenix:thin:url=http://localhost:8765;serialization=PROTOBUF none 
> none org.apache.phoenix.queryserver.client.Driver
> Connecting to 
> jdbc:phoenix:thin:url=http://localhost:8765;serialization=PROTOBUF
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in 
> [jar:file:/home/saque/hadoopec/phoenix/apache-phoenix-4.12.0-HBase-1.2-bin/phoenix-4.12.0-HBase-1.2-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in 
> [jar:file:/home/saque/hadoopec/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an 
> explanation.
> AvaticaClientRuntimeException: Remote driver error: RuntimeException: 
> java.sql.SQLException: No suitable driver found for localhost -> 
> SQLException: No suitable driver found for localhost. Error -1 (00000) null
> 
> java.lang.RuntimeException: java.sql.SQLException: No suitable driver 
> found for localhost
> 
> The same queryserver was running before the server was restarted. This 
> happens all the time, when I restart the server. The hadoop classpath 
> and hbase classpath are there. The sqlline with zookeper port works fine.
> 
> When I do: python sqlline.py localhost:2181. It works. However when I do 
> python sqlline-thin.py localhost:8765, it throws such errors.
> 
> Any help would be great, I'm using apache-phoenix-4.12.0-HBase-1.2 .
> 
> Thanks in advance
> Vaghawan