Unable to connect to HIVE datasourcs in OBIEE 12 - hive

Good day, all.
I've currently facing issue with creating a connection to HIVE datasource from Oracle Business Intelligence.
When i enter my db credentials i get this error :
Failed to save connection.Cannot create a connection since some errors occured. Fix them and try again.
And nothing more.
Meanwhile in Weblogic Console log :
|Unsupported property passed in properties: fixedString=true|
|Unsupported property passed in properties: oracle.jdbc.J2EE13Compliant=true|
|BEA-000000| |java.sql.SQLException java.io.IOException: execute query failed[nQSError: 43113] Message returned from OBIS.
[nQSError: 16001] ODBC error state: S1000 code: 1202 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver]Error switching to requested database (default)..
[nQSError: 16001] ODBC error state: S1000 code: 1 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver][Hive]Invalid method name: 'execute'.
oracle.bi.jdbc.AnaJdbcStatementImpl.executeQuery(AnaJdbcStatementImpl.java:387)
oracle.bi.jdbc.AnaJdbcStatementImpl.execute(AnaJdbcStatementImpl.java:268)
oracle.bi.jdbc.AnaJdbcPreparedStatementImpl.execute(AnaJdbcPreparedStatementImpl.java:507)
oracle.bi.jdbc.AnaJdbcPreparedStatementImpl.executeQuery(AnaJdbcPreparedStatementImpl.java:204)
oracle.bi.datasource.jdbc.connector.BIJDBCConnector.execute(BIJDBCConnector.java:173)
oracle.bi.datasource.jdbc.connector.BIJDBCConnector.execute(BIJDBCConnector.java:93)
oracle.bi.datasource.jdbc.connector.BIJDBCProvider.getObjectList(BIJDBCProvider.java:217)
oracle.bi.datasource.service.DatasourceServiceProcessor.getObjectsList(DatasourceServiceProcessor.java:1057)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|Error| |oracle.bi.datasource.trace| |BEA-000000| |SQL_EXCEPTION 0 : java.io.IOException: execute query failed[nQSError: 43113] Message returned from OBIS.
[nQSError: 16001] ODBC error state: S1000 code: 1202 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver]Error switching to requested database (default)..
[nQSError: 16001] ODBC error state: S1000 code: 1 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver][Hive]Invalid method name: 'execute'.
Cause - SQLException is thrown from the datasource
Action - Check the log
oracle.bi.datasource.jdbc.connector.SQLExceptionMapper.convert(SQLExceptionMapper.java:40)
oracle.bi.datasource.jdbc.connector.BIJDBCConnector.execute(BIJDBCConnector.java:215)
oracle.bi.datasource.jdbc.connector.BIJDBCConnector.execute(BIJDBCConnector.java:93)
oracle.bi.datasource.jdbc.connector.BIJDBCProvider.getObjectList(BIJDBCProvider.java:217)
oracle.bi.datasource.service.DatasourceServiceProcessor.getObjectsList(DatasourceServiceProcessor.java:1057)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
|Error| |oracle.bi.datasource.trace| |BEA-000000| |java.util.concurrent.ExecutionException oracle.bi.datasource.exceptions.DatasourceException: 0 : java.io.IOException: execute query failed[nQSError: 43113] Message returned from OBIS.
[nQSError: 16001] ODBC error state: S1000 code: 1202 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver]Error switching to requested database (default)..
[nQSError: 16001] ODBC error state: S1000 code: 1 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver][Hive]Invalid method name: 'execute'.
Cause - 0 : java.io.IOException: execute query failed[nQSError: 43113] Message returned from OBIS.
[nQSError: 16001] ODBC error state: S1000 code: 1202 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver]Error switching to requested database (default)..
[nQSError: 16001] ODBC error state: S1000 code: 1 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver][Hive]Invalid method name: 'execute'.
java.util.concurrent.FutureTask.report(FutureTask.java:122)
java.util.concurrent.FutureTask.get(FutureTask.java:206)
oracle.bi.datasource.service.adf.server.DatasourceServlet.doGet(DatasourceServlet.java:442)
javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
|
|Error| |oracle.bi.web.datasetsvc| |BEA-000000| |getObjectList failed for 'weblogic'.'HiveDS'|
|Error| |oracle.bi.tech.services.dataset| |BEA-000000| |Failed to create connection. : Bad Request - {"code":400101,"message":"JDS - Invalid syntax","subMessage":"oracle.bi.datasource.exceptions.DatasourceException: 0 : java.io.IOException: execute query failed[nQSError: 43113] Message returned from OBIS.\n[nQSError: 16001] ODBC error state: S1000 code: 1202 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver]Error switching to requested database (default)..\n[nQSError: 16001] ODBC error state: S1000 code: 1 message: [Oracle DataDirect][ODBC Apache Hive Wire Protocol driver][Hive]Invalid method name: 'execute'.\nCause: SQLException is thrown from the datasource\nAction: Check the log"}|
can anyone point me to possible solution?

Looks like an incorrect port number is being specified for the hive server in the database connection. Here is a similar error reported from the the same connector, but branded for IBM: http://www-01.ibm.com/support/docview.wss?uid=swg21671761
And here are connection option descriptions and default values for reference.

Related

An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused error

i have this error from laravel how to fix this?
An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused: SET SESSION sort_buffer_size=2097144; SET NAMES 'utf8mb4'; SET SESSION sql_mode='ANSI'
i try the connection with sql and .env file but did not working. i hope so that another developer knows: how to fix this with another solution?

query fail when has a where (reducers) in kerberos Cloudera quickstart

When execute a query without condition the result is successfull
But when execute a query like select * from tablexy where fielda = 'value' the result is a follow error:
ERROR : Job Submission failed with exception 'java.io.IOException(Failed on local
exception: java.io.IOException:
Couldn't setup connection for hive/quickstart.cloudera#CLOUDERA to
quickstart.cloudera/7.212.100.169:8032; Host Details : local host is:
"quickstart.cloudera":8032; )'
"quickstart.cloudera/7.212.100.169"; destination host is:
java.io.IOException: Failed on local exception: java.io.IOException:
Couldn't setup connection for hive/quickstart.cloudera#CLOUDERA to
quickstart.cloudera/7.212.100.169:8032; Host Details : local host is:
"quickstart.cloudera/7.212.100.169"; destination host is:
"quickstart.cloudera":8032;

JDBC client to Hive - No data or no sasl data in the stream Exception

We have a Kerberised cluster and I'm trying to run a Java action in Oozie where I make a JDBC connection to Hive. This JDBC connections works fine on the Sandbox without Kerberos.
The connection string is as simple as the following, where I'm providing username and password in it:
Connection con = DriverManager.getConnection("jdbc:hive2://W12345:10000/control;principal=hive/W12345.companynet.net#COMPANYNET.NET","user123","passw123");
The Oozie action (strangely) completes succesfully, and the Java action log does not present any error:
1742 [main] INFO org.apache.hive.jdbc.Utils - Supplied authorities: W12345:10000
1742 [main] INFO org.apache.hive.jdbc.Utils - Resolved authority: W12345:10000
1766 [main] INFO org.apache.hive.jdbc.HiveConnection - Will try to open client transport with JDBC Uri: jdbc:hive2://W12345:10000/control;principal=hive/W12345.companynet.net#COMPANYNET.NET
<<< Invocation of Main class completed <<<
Oozie Launcher ends
1785 [main] INFO org.apache.hadoop.mapred.Task - Task:attempt_1464245290012_0129_m_000000_0 is done. And is in the process of committing
1847 [main] INFO org.apache.hadoop.mapred.Task - Task attempt_1464245290012_0129_m_000000_0 is allowed to commit now
1854 [main] INFO org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter - Saved output of task 'attempt_1464245290012_0129_m_000000_0' to hdfs://danskehadoop/user/user123/oozie-oozi/0000013-160527101253015-oozie-oozi-W/JavaAction--java/output/_temporary/1/task_1464245290012_0129_m_000000
1909 [main] INFO org.apache.hadoop.mapred.Task - Task 'attempt_1464245290012_0129_m_000000_0' done.
But in reality the Java main does not complete correctly the execution (and does not execute the needed queries) because the JDBC connection fails with an exception that I can see only in the Hive log:
ERROR [HiveServer2-Handler-Pool: Thread-78363]: server.TThreadPoolServer (TThreadPoolServer.java:run(296)) - Error occurred during processing of message.
java.lang.RuntimeException: org.apache.thrift.transport.TSaslTransportException: No data or no sasl data in the stream
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:1637)
at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory.getTransport(HadoopThriftAuthBridge.java:736)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:268)
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.TSaslTransportException: No data or no sasl data in the stream
at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:328)
at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
... 10 more
I'm actually connected to the cluster, and already done further kinit on my username.
Does anybody know what could the cause of this exception be?
Thanks in advance for the help!
Antonio
This happened to me on MapR hadoop distribution platform.
In my case it was Keepalived checking Hive port every 5 seconds and producing such error. I simply used "nc" command to check if Hive port is in use and did not use any authentication method. Later I switched to "maprcli" command which uses SASL authentication and the error was gone.

Why does a client throw java.io.IOException: Transport scheme NOT recognized: [failovertcp] error while connecting to ActiveMQ?

From our application we are trying to connect to ActiveMQ service hosted on a different server. We were able to connect to it earlier, but we started facing the following error recently ? What are possible reasons for this error & how to resolve it ?
ERROR 2015-06-08 05:00:27.986 0x0 ' message=Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [failovertcp], class.method=MessageService.connect ' MSSL_Integration_Producer_Thread
javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [failovertcp]
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:245)
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:258)
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:230)
at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:178)
at org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:125)
at org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:110)
at org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:81)
at com.test.common.messagequeue.impl.JMSConnectionFactory.createConnection(JMSConnectionFactory.java:153)
at com.test.common.messagequeue.impl.MessageService.connect(MessageService.java:55)
at com.test.common.queue.MessageQueuer.connecMessageService(MessageQueuer.java:191)
at com.test.common.queue.MessageQueuer.connecMessageService(MessageQueuer.java:183)
at com.test.common.queue.MessageQueuer.queueMessage(MessageQueuer.java:173)
at com.test.common.queue.MessageQueuer.queueMessage(MessageQueuer.java:166)
at com.test.TestIntegration.queueTickets(TestIntegration.java:370)
at com.test.testIntegration.TestIntegration.performJob(TestIntegrationJob.java:54)
at com.test.common.scheduler.AbstractJob.execute(AbstractJob.java:188)
at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Caused by: java.io.IOException: Transport scheme NOT recognized: [failovertcp]
at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27)
at org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:204)
at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:79)
at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:243)
... 17 more
Caused by: java.io.IOException: Could not find factory class for resource: META-INF/services/org/apache/activemq/transport/failovertcp
at org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.loadProperties(FactoryFinder.java:96)
at org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.create(FactoryFinder.java:58)
at org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:146)
at org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:201)
... 19 more
Because 'failovertcp' is not a valid Transport type. You should refer to the Failover Transport page at ActiveMQ for some education.
The Failover URI takes the following form:
failover:(tcp://primary:61616,tcp://secondary:61616)?randomize=false

How to solve Listner error in oracle

LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
32-bit Windows Error: 2: No such file or directory
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MD-TRNGEUP55.Virtusa.com
)(PORT=1521)))
TNS-12545: Connect failed because target host or object does not exist
TNS-12560: TNS:protocol adapter error
TNS-00515: Connect failed because target host or object does not exist
32-bit Windows Error: 1001: Unknown error
LSNRCTL>