imjuni / jshs2

jsHS2 is a node.js client driver for hive server 2
http://imjuni.github.io/jshs2/
MIT License
34 stars 12 forks source link

org.apache.thrift.transport.TTransportException: Invalid status -128 #13

Closed toadead closed 7 years ago

toadead commented 7 years ago

I can't connect to our HiveServer2. After looking into server log, I got org.apache.thrift.transport.TTransportException: Invalid status -128. Here is my code:

const options = {
    auth: "NOSASL",
    host: "my host",
    port: 10000,
    timeout: 10000,
    username: "my username",
        password: "my password"
    hiveType: HS2Util.HIVE_TYPE.CDH,
    hiveVer: "0.13.1",
    thriftVer: "0.9.0",
    cdhVer: "5.3.3"
};

it('test', function() {
    var configuration = new Configuration(options);
    var idl = new IDLContainer();
    var cursor;
    return idl.initialize(configuration).then(function() {
        var connection = new HiveConnection(configuration, idl);
        return connection.connect();
    }).then(function(_cursor) {
        cursor = _cursor;
        return cursor.execute(options.query);
    }).then(function() {
        promise.delay(2000);
        logger.log('info', cursor.getOperationStatus());
    }).catch(function(error) {
        throw error;
    });
});

Server log: 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

imjuni commented 7 years ago

Hi,

I think that error caused from hive server 2 security configuration.

See below wiki page,

https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2#SettingUpHiveServer2-Authentication/SecurityConfiguration

And than, you configure security setting to NOSASL.

Because default hiveserver2 security set SASL, but jshs2 not work SASL. Thank.