Dbevear as far as I know can't use zookeeper namespaces. (It can use host
and port)

I suggest using the value (master01:10000) if the dbeaver host can resolve
master001.

On Thu., Jan. 9, 2020, 11:51 Jan Hentschel, <[email protected]>
wrote:

> Hi Matt,
>
>
>
> thanks for your answer. We tried connecting to Hive via the ZooKeeper
> namespace in DBeaver with the JDBC URL
> jdbc:hive2://master01:2181,master02:2181,master03:2181/;serviceDiscoveryMode=zookeeper;zooKeeperNamespace=hiveserver2
> and got a similar error:
>
>
>
> „Could not open client transport for any of the Server URI's in ZooKeeper:
> Invalid status 21“
>
>
>
> Wheoking into the namespace via the CLI, we get the correct address of our
> Hive instance returned:
>
>
>
> ls /hiveserver2
>
> [serverUri=;version=3.1.0.3.0.1.0-187;sequence=0000000123]
>
>
>
> Fun thing is that most of the clients, who are using the Thriftserver
> connection outside the cluster f.e. in Excel, are able to connect to it
> without the problem. We checked the truststores the clients have with the
> one’s inside the cluster and they are the same.
>
>
>
> Best regards, Jan
>
>
>
> *From: *Matt Andruff <[email protected]>
> *Reply-To: *"[email protected]" <[email protected]>
> *Date: *Wednesday, December 18, 2019 at 3:49 AM
> *To: *"[email protected]" <[email protected]>
> *Subject: *Re: Problem with Spark2 Thriftserver Alert in Ambari
>
>
>
> So if your not able to connect with beeline with that trustore info you
> have a typo.  Either a typo in your connection string.(unlikely) or the
> trustore isn't valid.(a different type of typo)
>
>
>
> Can you rules either of them out as being a typo?
>
>
>
> (Does using the zookeeper namespace  work connection string for hive
> work). You know the one that's in Ambari, on the hive summary page?
>
>
>
> Hive does actually right the connection string it wants you to use to the
> zookeeper namespace.  Can you connect to zookeeper and check what string it
> wants you to use? (Send me a reply and I'll dig up how to do this if you
> don't know how to do it. If you have more than 1 hive instance their will
> be more than 1 entry... I'm not going to respond until tomorrow just so you
> know ).
>
>
>
>
>
>
>
> On Tue., Dec. 17, 2019, 12:00 Jan Hentschel, <
> [email protected]> wrote:
>
> We already tried the SSL configuration in the Beeline connection string
> with a similar result. Hive is in binary mode with TLS. Below the output
> when trying to use the Truststore parameters in the connection string
> (resulting in the same output in the Thriftserver logs):
>
>
>
> spark@master01:/$ /usr/hdp/current/spark2-client/bin/beeline -u
> 'jdbc:hive2://master01:10016/default;principal=spark/[email protected];transportMode=binary;ssl=true;sslTrustStore=/etc/ssl/jks/certs/truststore.jks;trustStorePassword=changeit
> ' -e 'show databases'
>
> Connecting to jdbc:hive2://master01:10016/default;principal=spark/
> [email protected]
> ;transportMode=binary;ssl=true;sslTrustStore=/etc/ssl/jks/certs/truststore.jks;trustStorePassword=changeit
>
> 19/11/01 10:35:20 INFO Utils: Supplied authorities: master01:10016
>
> 19/11/01 10:35:20 INFO Utils: Resolved authority: master01:10016
>
> 19/11/01 10:35:20 WARN NativeCodeLoader: Unable to load native-hadoop
> library for your platform... using builtin-java classes where applicable
>
> 19/11/01 10:35:20 INFO HiveConnection: Will try to open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected]
> ;transportMode=binary;ssl=true;sslTrustStore=/etc/ssl/jks/certs/truststore.jks;trustStorePassword=changeit
>
> 19/11/01 10:35:21 INFO HiveConnection: Could not open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected]
> ;transportMode=binary;ssl=true;sslTrustStore=/etc/ssl/jks/certs/truststore.jks;trustStorePassword=changeit
>
> 19/11/01 10:35:21 INFO HiveConnection: Transport Used for JDBC connection:
> binary
>
> Error: Could not open client transport with JDBC Uri:
> jdbc:hive2://master01:10016/default;principal=spark/[email protected];transportMode=binary;ssl=true;sslTrustStore=/etc/ssl/jks/certs/truststore.jks;trustStorePassword=changeit:
> Invalid status 21 (state=08S01,code=0)
>
> 19/11/01 10:35:21 INFO Utils: Supplied authorities: master01:10016
>
> 19/11/01 10:35:21 INFO Utils: Resolved authority: master01:10016
>
> 19/11/01 10:35:21 INFO HiveConnection: Will try to open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected]
> ;transportMode=binary;ssl=true;sslTrustStore=/etc/ssl/jks/certs/truststore.jks;trustStorePassword=changeit
>
> 19/11/01 10:35:21 INFO HiveConnection: Could not open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected]
> ;transportMode=binary;ssl=true;sslTrustStore=/etc/ssl/jks/certs/truststore.jks;trustStorePassword=changeit
>
> 19/11/01 10:35:21 INFO HiveConnection: Transport Used for JDBC connection:
> binary
>
> No current connection
>
> 19/11/01 10:35:21 INFO Utils: Supplied authorities: master01:10016
>
> 19/11/01 10:35:21 INFO Utils: Resolved authority: master01:10016
>
> 19/11/01 10:35:21 INFO HiveConnection: Will try to open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected]
> ;transportMode=binary;ssl=true;sslTrustStore=/etc/ssl/jks/certs/truststore.jks;trustStorePassword=changeit
>
> 19/11/01 10:35:21 INFO HiveConnection: Could not open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected]
> ;transportMode=binary;ssl=true;sslTrustStore=/etc/ssl/jks/certs/truststore.jks;trustStorePassword=changeit
>
> 19/11/01 10:35:21 INFO HiveConnection: Transport Used for JDBC connection:
> binary
>
> Error: Could not open client transport with JDBC Uri:
> jdbc:hive2://master01:10016/default;principal=spark/[email protected];transportMode=binary;ssl=true;sslTrustStore=/etc/ssl/jks/certs/truststore.jks;trustStorePassword=changeit:
> Invalid status 21 (state=08S01,code=0)
>
>
>
> *From: *Matt Andruff <[email protected]>
> *Reply-To: *"[email protected]" <[email protected]>
> *Date: *Friday, December 13, 2019 at 8:17 PM
> *To: *"[email protected]" <[email protected]>
> *Subject: *Re: Problem with Spark2 Thriftserver Alert in Ambari
>
>
>
> It's clear from the Ambati alert the thrift server connection it's trying
> to use binary connection (and missing the trustore).  Are you using hive in
> binary with SSL or https?
>
>
>
> On Fri., Dec. 13, 2019, 14:13 Matt Andruff, <[email protected]>
> wrote:
>
> What happens when you try to connect via beeline with:
>
>
>
>
> jdbc:hive2://<host>:<port>/<db>;ssl=true;sslTrustStore=<trust_store_path>;trustStorePassword=<trust_store_password>
>
>
>
> ?
>
>
>
> Or are you just using the zookeeper namespace to connect?
>
>
>
> On Thu., Dec. 12, 2019, 14:03 Jan Hentschel, <
> [email protected]> wrote:
>
> Hello everybody,
>
>
>
> we're having problems with the Ambari alert for the Spark Thriftserver,
> complaining about the Beeline connection to the Thriftserver (see the alert
> below):
>
>
>
> Connection failed on host master01:10016 (Traceback (most recent call
> last):
>
>   File
> "/var/lib/ambari-agent/cache/stacks/HDP/3.0/services/SPARK2/package/scripts/alerts/alert_spark2_thrift_port.py",
> line 147, in execute
>
>     Execute(cmd, user=sparkuser, path=[beeline_cmd],
> timeout=CHECK_COMMAND_TIMEOUT_DEFAULT)
>
>   File "/usr/lib/ambari-agent/lib/resource_management/core/base.py", line
> 166, in __init__
>
>     self.env.run()
>
>   File
> "/usr/lib/ambari-agent/lib/resource_management/core/environment.py", line
> 160, in run
>
>     self.run_action(resource, action)
>
>   File
> "/usr/lib/ambari-agent/lib/resource_management/core/environment.py", line
> 124, in run_action
>
>     provider_action()
>
>   File
> "/usr/lib/ambari-agent/lib/resource_management/core/providers/system.py",
> line 263, in action_run
>
>     returns=self.resource.returns)
>
>   File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line
> 72, in inner
>
>     result = function(command, **kwargs)
>
>   File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line
> 102, in checked_call
>
>     tries=tries, try_sleep=try_sleep,
> timeout_kill_strategy=timeout_kill_strategy, returns=returns)
>
>   File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line
> 150, in _call_wrapper
>
>     result = _call(command, **kwargs_copy)
>
>   File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line
> 314, in _call
>
>     raise ExecutionFailed(err_msg, code, out, err)
>
> ExecutionFailed: Execution of '!
> /usr/hdp/current/spark2-client/bin/beeline -u
> 'jdbc:hive2://master01:10016/default;principal=spark/[email protected];transportMode=binary'
> -e '' 2>&1| awk '{print}'|grep -i -e 'Connection refused' -e 'Invalid URL'
> ' returned 1. Error: Could not open client transport with JDBC Uri:
> jdbc:hive2://master01:10016/default;principal=spark/[email protected];transportMode=binary:
> java.net.ConnectException: Connection refused (Connection refused)
> (state=08S01,code=0)
>
> Error: Could not open client transport with JDBC Uri:
> jdbc:hive2://master01:10016/default;principal=spark/[email protected];transportMode=binary:
> java.net.ConnectException: Connection refused (Connection refused)
> (state=08S01,code=0)
>
> )
>
>
>
> Running it with a user the same problem comes up:
>
>
>
> dr_who@master01:/var/lib/ambari-agent/cache/stacks/HDP/3.0/services/SPARK2/package/scripts/alerts$
> ! /usr/hdp/current/spark2-client/bin/beeline -u
> 'jdbc:hive2://master01:10016/default;principal=spark/[email protected];transportMode=binary'
> -e ''
>
> Connecting to jdbc:hive2://master01:10016/default;principal=spark/
> [email protected];transportMode=binary
>
> 19/09/30 10:40:26 INFO Utils: Supplied authorities: master01:10016
>
> 19/09/30 10:40:26 INFO Utils: Resolved authority: master01:10016
>
> 19/09/30 10:40:26 WARN NativeCodeLoader: Unable to load native-hadoop
> library for your platform... using builtin-java classes where applicable
>
> 19/09/30 10:40:26 INFO HiveConnection: Will try to open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected];transportMode=binary
>
> 19/09/30 10:40:27 INFO HiveConnection: Could not open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected];transportMode=binary
>
> 19/09/30 10:40:27 INFO HiveConnection: Transport Used for JDBC connection:
> binary
>
> Error: Could not open client transport with JDBC Uri:
> jdbc:hive2://master01:10016/default;principal=spark/[email protected];transportMode=binary:
> java.net.SocketException: Connection reset (state=08S01,code=0)
>
> Beeline version 1.21.2.3.0.1.0-187 by Apache Hive
>
> 19/09/30 10:40:27 INFO Utils: Supplied authorities: master01:10016
>
> 19/09/30 10:40:27 INFO Utils: Resolved authority: master01:10016
>
> 19/09/30 10:40:27 INFO HiveConnection: Will try to open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected];transportMode=binary
>
> 19/09/30 10:40:27 INFO HiveConnection: Could not open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected];transportMode=binary
>
> 19/09/30 10:40:27 INFO HiveConnection: Transport Used for JDBC connection:
> binary
>
> Error: Could not open client transport with JDBC Uri:
> jdbc:hive2://master01:10016/default;principal=spark/[email protected];transportMode=binary:
> java.net.SocketException: Broken pipe (Write failed) (state=08S01,code=0)
>
>
>
> When trying to run the same with the Spark user from the command line, a
> similar issues arises:
>
>
>
> spark@master01:~$ /usr/hdp/current/spark2-client/bin/beeline -u
> 'jdbc:hive2://master01:10016/default;principal=spark/[email protected];transportMode=binary'
> -e 'show databases'
>
> Connecting to jdbc:hive2://master01:10016/default;principal=spark/
> [email protected];transportMode=binary
>
> 19/11/13 14:42:27 INFO Utils: Supplied authorities: master01:10016
>
> 19/11/13 14:42:27 INFO Utils: Resolved authority: master01:10016
>
> 19/11/13 14:42:27 WARN NativeCodeLoader: Unable to load native-hadoop
> library for your platform... using builtin-java classes where applicable
>
> 19/11/13 14:42:27 INFO HiveConnection: Will try to open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected];transportMode=binary
>
> 19/11/13 14:42:27 INFO HiveConnection: Could not open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected];transportMode=binary
>
> 19/11/13 14:42:27 INFO HiveConnection: Transport Used for JDBC connection:
> binary
>
> Error: Could not open client transport with JDBC Uri:
> jdbc:hive2://master01:10016/default;principal=spark/[email protected];transportMode=binary:
> Invalid status 21 (state=08S01,code=0)
>
> 19/11/13 14:42:27 INFO Utils: Supplied authorities: master01:10016
>
> 19/11/13 14:42:27 INFO Utils: Resolved authority: master01:10016
>
> 19/11/13 14:42:27 INFO HiveConnection: Will try to open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected];transportMode=binary
>
> 19/11/13 14:42:27 INFO HiveConnection: Could not open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected];transportMode=binary
>
> 19/11/13 14:42:27 INFO HiveConnection: Transport Used for JDBC connection:
> binary
>
> No current connection
>
> 19/11/13 14:42:27 INFO Utils: Supplied authorities: master01:10016
>
> 19/11/13 14:42:27 INFO Utils: Resolved authority: master01:10016
>
> 19/11/13 14:42:27 INFO HiveConnection: Will try to open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected];transportMode=binary
>
> 19/11/13 14:42:27 INFO HiveConnection: Could not open client transport
> with JDBC Uri: jdbc:hive2://master01:10016/default;principal=spark/
> [email protected];transportMode=binary
>
> 19/11/13 14:42:27 INFO HiveConnection: Transport Used for JDBC connection:
> binary
>
> Error: Could not open client transport with JDBC Uri:
> jdbc:hive2://master01:10016/default;principal=spark/[email protected];transportMode=binary:
> Invalid status 21 (state=08S01,code=0)
>
>
>
> Looking at the Thriftserver logs reveals the following:
>
>
>
> 19/11/13 14:43:48 ERROR TThreadPoolServer: Error occurred during
> processing of message.
>
> java.lang.RuntimeException:
> org.apache.thrift.transport.TTransportException:
> javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
>
>         at
> org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
>
>         at
> org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge.java:739)
>
>         at
> org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge.java:736)
>
>         at java.security.AccessController.doPrivileged(Native Method)
>
>         at javax.security.auth.Subject.doAs(Subject.java:360)
>
>         at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1710)
>
>         at
> org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory.getTransport(HadoopThriftAuthBridge.java:736)
>
>         at
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:269)
>
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>
>         at java.lang.Thread.run(Thread.java:745)
>
> Caused by: org.apache.thrift.transport.TTransportException:
> javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
>
>         at
> org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:129)
>
>         at
> org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
>
>         at
> org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:178)
>
>         at
> org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125)
>
>         at
> org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:271)
>
>         at
> org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
>
>         at
> org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
>
>         ... 10 more
>
> Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext
> connection?
>
>         at
> sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:710)
>
>         at sun.security.ssl.InputRecord.read(InputRecord.java:527)
>
>         at
> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
>
>         at
> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
>
>         at
> sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:928)
>
>         at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
>
>         at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
>
>         at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
>
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
>
>         at
> org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:127)
>
>         ... 16 more
>
> 19/11/13 14:43:48 ERROR TThreadPoolServer: Error occurred during
> processing of message.
>
> java.lang.RuntimeException:
> org.apache.thrift.transport.TTransportException:
> javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
>
>         at
> org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
>
>         at
> org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge.java:739)
>
>         at
> org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge.java:736)
>
>        at java.security.AccessController.doPrivileged(Native Method)
>
>         at javax.security.auth.Subject.doAs(Subject.java:360)
>
>         at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1710)
>
>         at
> org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory.getTransport(HadoopThriftAuthBridge.java:736)
>
>         at
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:269)
>
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>
>         at java.lang.Thread.run(Thread.java:745)
>
> Caused by: org.apache.thrift.transport.TTransportException:
> javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
>
>         at
> org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:129)
>
>         at
> org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
>
>         at
> org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:178)
>
>         at
> org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125)
>
>         at
> org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:271)
>
>         at
> org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
>
>         at
> org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
>
>         ... 10 more
>
> Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext
> connection?
>
>         at
> sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:710)
>
>         at sun.security.ssl.InputRecord.read(InputRecord.java:527)
>
>         at
> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
>
>         at
> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
>
>         at
> sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:928)
>
>         at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
>
>         at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
>
>         at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
>
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
>
>         at
> org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:127)
>
>         ... 16 more
>
>
>
> TLS is configured on the Hive side, but still it seems that instead of a
> TLS connection Beeline or Spark tries to establish a plaintext connection.
> Does anyone know how to resolve this problem? Besides the points
> mentioned above the Thriftserver, f.e. when connecting to it via ODBC.
>
>
>
>

Reply via email to