phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rafa <raf...@gmail.com>
Subject Re: Cannot connect phoenix client in kerberos cluster
Date Mon, 09 Oct 2017 09:18:58 GMT
Hi Mallieswari:

*Method 1:* python sqlline-thin.py http://hostname:8765

This should be enough to connect to Phoenix query server.

Increase the Phoenix Qeury Server log file level to see if there is a
problem with it.

regards,
rafa

On Fri, Oct 6, 2017 at 11:28 AM, Mallieswari Dineshbabu <
dmallieswari@gmail.com> wrote:

> Hi rafa,
> I have this Kernel32 error in normal hadoop cluster also but i can
> successfully to connected with the query server using sqlline-thin.py. In
> kerberos cluster the ,I getting following error.
> java.lang.RuntimeException: Failed to execute HTTP Request, got HTTP/404
> at org.apache.calcite.avatica.remote.AvaticaCommonsHttpClientSpnego
> Impl.send(AvaticaCommonsHttpClientSpnegoImpl.java:148)
> at org.apache.calcite.avatica.remote.DoAsAvaticaHttpClient$
> 1.run(DoAsAvaticaHttpClient.java:40)
> at org.apache.calcite.avatica.remote.DoAsAvaticaHttpClient$
> 1.run(DoAsAvaticaHttpClient.java:38)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:360)
> at org.apache.calcite.avatica.remote.DoAsAvaticaHttpClient.
> send(DoAsAvaticaHttpClient.java:38)
> at org.apache.calcite.avatica.remote.RemoteProtobufService._
> apply(RemoteProtobufService.java:45)
> at org.apache.calcite.avatica.remote.ProtobufService.apply(
> ProtobufService.java:81)
> at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:176)
> at java.sql.DriverManager.getConnection(DriverManager.java:664)
> at java.sql.DriverManager.getConnection(DriverManager.java:270)
> at multiaccess.Jobs.PhoenixJava(Jobs.java:69)
> at multiaccess.Jobs.executeQueries(Jobs.java:39)
> at multiaccess.MultiAccess$1.call(MultiAccess.java:61)
> at multiaccess.MultiAccess$1.call(MultiAccess.java:56)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
>
> Note: Phoenix Package Version- 4.11.0-Hbase-1.2
> Hbase Version- 4.2.5
> Hadoop version- 2.7.2
>
>
> Please help me to connect with query server through sqlline-thin client
>
> Regards,
> Mallieswari D
>
> On Thu, Oct 5, 2017 at 7:01 PM, rafa <rafa13@gmail.com> wrote:
>
>> Hi,
>>
>> The method 1 should work as far as the query server connects to the
>> cluster successfully with the configured keytab. It seems a classpath
>> problem on client side:
>>
>> [ERROR] Terminal initialization failed; falling back to unsupported
>>
>> java.lang.NoClassDefFoundError: Could not initialize class
>> org.apache.phoenix.sh
>> aded.org.fusesource.jansi.internal.Kernel32
>>
>> I have no exprience with windows. Seems that there is need for jline in
>> the classpath
>>
>> https://jline.github.io/
>>
>> check this:
>>
>> https://issues.apache.org/jira/browse/HIVE-13824
>>
>> regards
>>
>>
>> On Thu, Oct 5, 2017 at 2:29 PM, Mallieswari Dineshbabu <
>> dmallieswari@gmail.com> wrote:
>>
>>> Yes, It is installed in all the JVMs. Any other solution.
>>>
>>>
>>> On Wed, Oct 4, 2017 at 5:30 PM, rafa <rafa13@gmail.com> wrote:
>>>
>>>> Hi Mallieswari,
>>>>
>>>> Perhaps the Java Cryptography Extension (JCE) Unlimited Strength
>>>> Jurisdiction Policy Files are not installed in all the JVMs ?
>>>>
>>>> Regards,
>>>> rafa
>>>>
>>>> On Wed, Oct 4, 2017 at 1:18 PM, Mallieswari Dineshbabu <
>>>> dmallieswari@gmail.com> wrote:
>>>>
>>>>> Hi ,
>>>>>
>>>>>
>>>>>
>>>>> I have configured a phoenix package "apache-phoenix-4.11.0-HBase-1.2-bin"
>>>>> to Hbase version "1.2.5" in kerberos cluster.
>>>>>
>>>>>
>>>>>
>>>>> For phoenix secure cluster configuration, I have added the following
>>>>> properties into the *hbase-site.xml* present in *phoenix/bin* along
>>>>> with the properties of hbase configuration properties present in hbase/conf
>>>>> path and refer the *core-site.xml*, *hdfs-site.xml* file in
>>>>> phoenix/bin path
>>>>>
>>>>>
>>>>>
>>>>> phoenix.queryserver.keytab.file
>>>>>
>>>>> The key to look for keytab file.
>>>>>
>>>>> *unset*
>>>>>
>>>>> phoenix.queryserver.kerberos.principal
>>>>>
>>>>> The kerberos principal to use when authenticating.
>>>>>
>>>>> *unset*
>>>>>
>>>>> Phoenix Query Server:
>>>>>
>>>>>
>>>>>
>>>>> Once updated a above properties query server has been started
>>>>> successfully using keytab.
>>>>>
>>>>>
>>>>>
>>>>> *Command to Server:*
>>>>>
>>>>> *python queryserver.py*
>>>>>
>>>>>
>>>>>
>>>>> Phoenix Client:
>>>>>
>>>>>
>>>>>
>>>>> Once the query server is started successfully then the port no 8765
>>>>> comes to live. When i try to connect client with following command it
>>>>> returns GSS Exception. Am I missing any steps in configuration.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *Command to Client:*
>>>>>
>>>>> Following are the methods i tried to connect in secure cluster it does
>>>>> not works.
>>>>>
>>>>>
>>>>>
>>>>> *Method 1:* python sqlline-thin.py http://hostname:8765
>>>>>
>>>>> *Method 2:*
>>>>>
>>>>> python sqlthin-client.py http://hostname:8765;authentic
>>>>> ation=SPNEGO;principal=phoenix/OrgClu@XXXXXX.XXXXX.COM;keyta
>>>>> b=C:\\path\\to\\HadoopKeyTabs\\\phoenix.keytab
>>>>> <http://hostname:8765;authentication=SPNEGO;principal=phoenix/OrgClu@XXXXXX.XXXXX.COM;keytab=C:/path/to/HadoopKeyTabs/phoenix.keytab>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *CLIENT SIDE ERROR:*
>>>>>
>>>>> x-4.11.0-HBase-1.2-bin\bin>python sqlline-thin.py
>>>>> http://namenode1:8765
>>>>>
>>>>> Failed to find hbase executable on PATH, defaulting serialization to
>>>>> PROTOBUF.
>>>>>
>>>>> [ERROR] Terminal initialization failed; falling back to unsupported
>>>>>
>>>>> java.lang.NoClassDefFoundError: Could not initialize class
>>>>> org.apache.phoenix.sh
>>>>>
>>>>> aded.org.fusesource.jansi.internal.Kernel32
>>>>>
>>>>>         at org.apache.phoenix.shaded.org.
>>>>> fusesource.jansi.internal.WindowsSuppor
>>>>>
>>>>> t.getConsoleMode(WindowsSupport.java:50)
>>>>>
>>>>>         at org.apache.phoenix.shaded.jlin
>>>>> e.WindowsTerminal.getConsoleMode(Window
>>>>>
>>>>> sTerminal.java:177)
>>>>>
>>>>>         at org.apache.phoenix.shaded.jlin
>>>>> e.WindowsTerminal.init(WindowsTerminal.
>>>>>
>>>>> java:80)
>>>>>
>>>>>         at org.apache.phoenix.shaded.jlin
>>>>> e.TerminalFactory.create(TerminalFactor
>>>>>
>>>>> y.java:101)
>>>>>
>>>>>         at org.apache.phoenix.shaded.jlin
>>>>> e.TerminalFactory.get(TerminalFactory.j
>>>>>
>>>>> ava:159)
>>>>>
>>>>>         at sqlline.SqlLineOpts.<init>(SqlLineOpts.java:45)
>>>>>
>>>>>         at sqlline.SqlLine.<init>(SqlLine.java:55)
>>>>>
>>>>>         at sqlline.SqlLine.start(SqlLine.java:397)
>>>>>
>>>>>         at sqlline.SqlLine.main(SqlLine.java:291)
>>>>>
>>>>>         at org.apache.phoenix.queryserver
>>>>> .client.SqllineWrapper$1.run(SqllineWra
>>>>>
>>>>> pper.java:88)
>>>>>
>>>>>         at org.apache.phoenix.queryserver
>>>>> .client.SqllineWrapper$1.run(SqllineWra
>>>>>
>>>>> pper.java:85)
>>>>>
>>>>>         at java.security.AccessController.doPrivileged(Native Method)
>>>>>
>>>>>         at javax.security.auth.Subject.doAs(Subject.java:415)
>>>>>
>>>>>         at org.apache.hadoop.security.Use
>>>>> rGroupInformation.doAs(UserGroupInforma
>>>>>
>>>>> tion.java:1657)
>>>>>
>>>>>         at org.apache.phoenix.queryserver
>>>>> .client.SqllineWrapper.main(SqllineWrap
>>>>>
>>>>> per.java:85)
>>>>>
>>>>>
>>>>>
>>>>> [ERROR] Terminal initialization failed; falling back to unsupported
>>>>>
>>>>> java.lang.NoClassDefFoundError: Could not initialize class
>>>>> org.apache.phoenix.sh
>>>>>
>>>>> aded.org.fusesource.jansi.internal.Kernel32
>>>>>
>>>>>         at org.apache.phoenix.shaded.org.
>>>>> fusesource.jansi.internal.WindowsSuppor
>>>>>
>>>>> t.getConsoleMode(WindowsSupport.java:50)
>>>>>
>>>>>         at org.apache.phoenix.shaded.jlin
>>>>> e.WindowsTerminal.getConsoleMode(Window
>>>>>
>>>>> sTerminal.java:177)
>>>>>
>>>>>         at org.apache.phoenix.shaded.jlin
>>>>> e.WindowsTerminal.init(WindowsTerminal.
>>>>>
>>>>> java:80)
>>>>>
>>>>>         at org.apache.phoenix.shaded.jlin
>>>>> e.TerminalFactory.create(TerminalFactor
>>>>>
>>>>> y.java:101)
>>>>>
>>>>>         at sqlline.SqlLine.getConsoleReader(SqlLine.java:723)
>>>>>
>>>>>         at sqlline.SqlLine.begin(SqlLine.java:657)
>>>>>
>>>>>         at sqlline.SqlLine.start(SqlLine.java:398)
>>>>>
>>>>>         at sqlline.SqlLine.main(SqlLine.java:291)
>>>>>
>>>>>         at org.apache.phoenix.queryserver
>>>>> .client.SqllineWrapper$1.run(SqllineWra
>>>>>
>>>>> pper.java:88)
>>>>>
>>>>>         at org.apache.phoenix.queryserver
>>>>> .client.SqllineWrapper$1.run(SqllineWra
>>>>>
>>>>> pper.java:85)
>>>>>
>>>>>         at java.security.AccessController.doPrivileged(Native Method)
>>>>>
>>>>>         at javax.security.auth.Subject.doAs(Subject.java:415)
>>>>>
>>>>>         at org.apache.hadoop.security.Use
>>>>> rGroupInformation.doAs(UserGroupInforma
>>>>>
>>>>> tion.java:1657)
>>>>>
>>>>>         at org.apache.phoenix.queryserver
>>>>> .client.SqllineWrapper.main(SqllineWrap
>>>>>
>>>>> per.java:85)
>>>>>
>>>>>
>>>>>
>>>>> Setting property: [incremental, false]
>>>>>
>>>>> Setting property: [isolation, TRANSACTION_READ_COMMITTED]
>>>>>
>>>>> issuing: !connect jdbc:phoenix:thin:url=http://n
>>>>> amenode1:8765;serialization=PROT
>>>>>
>>>>> OBUF;authentication=SPNEGO none none org.apache.phoenix.queryserver
>>>>> .client.Drive
>>>>>
>>>>> r
>>>>>
>>>>> Connecting to jdbc:phoenix:thin:url=http://n
>>>>> amenode1:8765;serialization=PROTOBUF
>>>>>
>>>>> ;authentication=SPNEGO
>>>>>
>>>>> java.lang.RuntimeException: Failed to execute HTTP Request, got
>>>>> HTTP/404
>>>>>
>>>>>         at org.apache.calcite.avatica.rem
>>>>> ote.AvaticaCommonsHttpClientSpnegoImpl.
>>>>>
>>>>> send(AvaticaCommonsHttpClientSpnegoImpl.java:148)
>>>>>
>>>>>         at org.apache.calcite.avatica.rem
>>>>> ote.RemoteProtobufService._apply(Remote
>>>>>
>>>>> ProtobufService.java:45)
>>>>>
>>>>>         at org.apache.calcite.avatica.rem
>>>>> ote.ProtobufService.apply(ProtobufServi
>>>>>
>>>>> ce.java:81)
>>>>>
>>>>>         at org.apache.calcite.avatica.rem
>>>>> ote.Driver.connect(Driver.java:176)
>>>>>
>>>>>         at sqlline.DatabaseConnection.con
>>>>> nect(DatabaseConnection.java:157)
>>>>>
>>>>>         at sqlline.DatabaseConnection.get
>>>>> Connection(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.NativeMethodAccess
>>>>> orImpl.invoke(NativeMethodAccessorImpl.
>>>>>
>>>>> java:57)
>>>>>
>>>>>         at sun.reflect.DelegatingMethodAc
>>>>> cessorImpl.invoke(DelegatingMethodAcces
>>>>>
>>>>> sorImpl.java:43)
>>>>>
>>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>
>>>>>         at sqlline.ReflectiveCommandHandl
>>>>> er.execute(ReflectiveCommandHandler.jav
>>>>>
>>>>> a: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$1.run(SqllineWra
>>>>>
>>>>> pper.java:88)
>>>>>
>>>>>         at org.apache.phoenix.queryserver
>>>>> .client.SqllineWrapper$1.run(SqllineWra
>>>>>
>>>>> pper.java:85)
>>>>>
>>>>>         at java.security.AccessController.doPrivileged(Native Method)
>>>>>
>>>>>         at javax.security.auth.Subject.doAs(Subject.java:415)
>>>>>
>>>>>         at org.apache.hadoop.security.Use
>>>>> rGroupInformation.doAs(UserGroupInforma
>>>>>
>>>>> tion.java:1657)
>>>>>
>>>>>         at org.apache.phoenix.queryserver
>>>>> .client.SqllineWrapper.main(SqllineWrap
>>>>>
>>>>> per.java:85)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *SERVER SIDE ERROR:*
>>>>>
>>>>> 17/10/04 05:34:28 INFO server.Server: Started @9558ms
>>>>>
>>>>> 17/10/04 05:34:28 INFO server.HttpServer: Service listening on port
>>>>> 8765.
>>>>>
>>>>> 17/10/04 05:38:39 WARN security.SpnegoLoginService:
>>>>>
>>>>> GSSException: Failure unspecified at GSS-API level (Mechanism level:
>>>>> Encryption
>>>>>
>>>>> type AES256 CTS mode with HMAC SHA1-96 is not supported/enabled)
>>>>>
>>>>>         at sun.security.jgss.krb5.Krb5Con
>>>>> text.acceptSecContext(Krb5Context.java:
>>>>>
>>>>> 788)
>>>>>
>>>>>         at sun.security.jgss.GSSContextIm
>>>>> pl.acceptSecContext(GSSContextImpl.java
>>>>>
>>>>> :342)
>>>>>
>>>>>         at sun.security.jgss.GSSContextIm
>>>>> pl.acceptSecContext(GSSContextImpl.java
>>>>>
>>>>> :285)
>>>>>
>>>>>         at sun.security.jgss.spnego.SpNeg
>>>>> oContext.GSS_acceptSecContext(SpNegoCon
>>>>>
>>>>> text.java:871)
>>>>>
>>>>>         at sun.security.jgss.spnego.SpNeg
>>>>> oContext.acceptSecContext(SpNegoContext
>>>>>
>>>>> .java:544)
>>>>>
>>>>>         at sun.security.jgss.GSSContextIm
>>>>> pl.acceptSecContext(GSSContextImpl.java
>>>>>
>>>>> :342)
>>>>>
>>>>>         at sun.security.jgss.GSSContextIm
>>>>> pl.acceptSecContext(GSSContextImpl.java
>>>>>
>>>>> :285)
>>>>>
>>>>>         at org.apache.phoenix.shaded.org.
>>>>> eclipse.jetty.security.SpnegoLoginServi
>>>>>
>>>>> ce.login(SpnegoLoginService.java:137)
>>>>>
>>>>>         at org.apache.phoenix.shaded.org.
>>>>> eclipse.jetty.security.authentication.L
>>>>>
>>>>> oginAuthenticator.login(LoginAuthenticator.java:61)
>>>>>
>>>>>         at org.apache.phoenix.shaded.org.
>>>>> eclipse.jetty.security.authentication.S
>>>>>
>>>>> pnegoAuthenticator.validateRequest(SpnegoAuthenticator.java:99)
>>>>>
>>>>>         at org.apache.phoenix.shaded.org.
>>>>> eclipse.jetty.security.SecurityHandler.
>>>>>
>>>>> handle(SecurityHandler.java:512)
>>>>>
>>>>>         at org.apache.phoenix.shaded.org.
>>>>> eclipse.jetty.server.handler.HandlerLis
>>>>>
>>>>> t.handle(HandlerList.java:52)
>>>>>
>>>>>         at org.apache.phoenix.shaded.org.
>>>>> eclipse.jetty.server.handler.HandlerWra
>>>>>
>>>>> pper.handle(HandlerWrapper.java:97)
>>>>>
>>>>>         at org.apache.phoenix.shaded.org.
>>>>> eclipse.jetty.server.Server.handle(Serv
>>>>>
>>>>> er.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.onF
>>>>>
>>>>> illable(HttpConnection.java:257)
>>>>>
>>>>>         at org.apache.phoenix.shaded.org.eclipse.jetty.io
>>>>> .AbstractConnection$2.r
>>>>>
>>>>> un(AbstractConnection.java:544)
>>>>>
>>>>>         at org.apache.phoenix.shaded.org.
>>>>> eclipse.jetty.util.thread.QueuedThreadP
>>>>>
>>>>> ool.runJob(QueuedThreadPool.java:635)
>>>>>
>>>>>         at org.apache.phoenix.shaded.org.
>>>>> eclipse.jetty.util.thread.QueuedThreadP
>>>>>
>>>>> ool$3.run(QueuedThreadPool.java:555)
>>>>>
>>>>>         at java.lang.Thread.run(Thread.java:744)
>>>>>
>>>>> Caused by: KrbException: Encryption type AES256 CTS mode with HMAC
>>>>> SHA1-96 is no
>>>>>
>>>>> t supported/enabled
>>>>>
>>>>>         at sun.security.krb5.EncryptionKe
>>>>> y.findKey(EncryptionKey.java:552)
>>>>>
>>>>>         at sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:270)
>>>>>
>>>>>         at sun.security.krb5.KrbApReq.<init>(KrbApReq.java:144)
>>>>>
>>>>>         at sun.security.jgss.krb5.InitSec
>>>>> ContextToken.<init>(InitSecContextToken
>>>>>
>>>>> .java:108)
>>>>>
>>>>>         at sun.security.jgss.krb5.Krb5Con
>>>>> text.acceptSecContext(Krb5Context.java:
>>>>>
>>>>> 771)
>>>>>
>>>>>         ... 19 more
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Please help me to solve this issue.
>>>>>
>>>>> --
>>>>>
>>>>> Thanks and regards
>>>>>
>>>>> D.Mallieswari
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Thanks and regards
>>> D.Mallieswari
>>>
>>
>>
>
>
> --
> Thanks and regards
> D.Mallieswari
>

Mime
View raw message