私は完全に機能する Apache Spark Hive ThriftServer 1.2.1 を持っています。これは beeline と SQL Developer でテストされています (両方とも動作します)。このサーバーの構成は次のとおりです。
<property>
<name>hive.server2.authentication</name>
<value>NONE</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>hive.server2.enable.doAs</name>
<value>true</value>
</property>
ただし、Simba ODBC はそれとの接続を確立できません (ただし、サーバーはエラー メッセージで応答します)。クライアント側が 2 分後に次の例外をスローするたびに:
[S1000][unixODBC][Simba][SparkODBC] (22) Error from ThriftHiveClient: EAGAIN (timed out)
[ISQL]ERROR: Could not SQLConnect
サーバー側は次の例外をスローします。
java.lang.RuntimeException: org.apache.thrift.transport.TTransportException
at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:189)
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
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
at org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:182)
at org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125)
at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:253)
at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
... 4 more
すべてのオプションを使い果たしました。この症状は、サーバーから取得できる唯一の応答です。誰かが以前にこのエラーに遭遇して修正しましたか?
PS: クライアント側のオペレーティング システムは SUSE であり、Spark ODBC ドライバーによってサポートされる OS の 1 つとしてリストされています。