1
我爲配置單元使用名爲jshs2的node.js客戶端驅動程序,但在連接到hiveserver2時遇到了連接問題。我試圖查看無效狀態128,但沒有運氣。這裏是我的代碼:HiveServer2 TTransportException:無效的狀態-128
const options = {
\t auth: "NOSASL",
\t host: "my host",
\t port: 10000,
\t timeout: 10000,
\t username: "my username",
password: "my password"
\t hiveType: HS2Util.HIVE_TYPE.CDH,
\t hiveVer: "0.13.1",
\t thriftVer: "0.9.0",
\t cdhVer: "5.3.3"
};
it('test', function() {
\t var configuration = new Configuration(options);
\t var idl = new IDLContainer();
\t var cursor;
\t return idl.initialize(configuration).then(function() {
\t \t var connection = new HiveConnection(configuration, idl);
\t \t return connection.connect();
\t }).then(function(_cursor) {
\t \t cursor = _cursor;
\t \t return cursor.execute(options.query);
\t }).then(function() {
\t \t promise.delay(2000);
\t \t logger.log('info', cursor.getOperationStatus());
\t }).catch(function(error) {
\t \t throw error;
\t });
});
服務器日誌:
java.lang.RuntimeException: org.apache.thrift.transport.TTransportException: Invalid status -128
at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:227)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.transport.TTransportException: Invalid status -128
at org.apache.thrift.transport.TSaslTransport.sendAndThrowMessage(TSaslTransport.java:230)
at org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:184)
at org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125)
at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:262)
at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
... 4 more
從'handleSaslStartMessage'引發異常;換句話說,你的JDBC客戶端試圖去否認*它可以向服務器認證,但沒有任何協議。 S.O上有幾個類似的問題。 (以及其他地方)關於該消息,並且這些都歸結爲**檢查服務器期望的身份驗證方法**並確保您的客戶端使用它。參看http://findingthecomputer.blogspot.fr/2016/09/odbc-with-hive-on-cloudera-causing.html和http://stackoverflow.com/questions/30905334/php-hiveserver-2-issues ... –
...和http://grokbase.com/t/hive/user/157xvy8ra8/hiveserver-thrift-ttransportexception等。 –