如果我有以下类型的impala连接,我还可以使用squirrel sql吗:
self.impala_con = connect(host='sql.edamame.com', port=25003, use_ssl=True, auth_mechanism="PLAIN",
user='edamame1', password='edamamePass')
下面是我在squirrel中设置别名的方法:
我在测试连接期间出现以下错误:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.sql.SQLException: [Simba][ImpalaJDBCDriver](500151) Error setting/closing session: Open Session Error.
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:206)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(OpenConnectionCommand.java:132)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(OpenConnectionCommand.java:45)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(OpenConnectionCommand.java:115)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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)
更新:
我还尝试了以下网址:
jdbc:impala://sql.edamame.com:25003/default;AuthMech=3;SSL=1
并获取以下新错误:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.sql.SQLException: [Simba][ImpalaJDBCDriver](500310) Invalid operation: null;
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:206)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(OpenConnectionCommand.java:132)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(OpenConnectionCommand.java:45)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(OpenConnectionCommand.java:115)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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)
我还缺什么?谢谢!
1条答案
按热度按时间t9aqgxwy1#
简而言之:rtfm。
长话短说:clouderajdbc驱动程序附带了80多页的pdf“安装和配置指南”。别害羞,打开它。您可以直接转到附录a-驱动程序配置并查看以下条目:
authmech要使用的身份验证机制。
将该值设置为以下数字之一:
0表示无身份验证
kerberos为1
用户名为2
用户名和密码为3
ssl协议
当此属性设置为1时,驱动程序通过启用ssl的套接字与impala服务器通信。当此属性设置为0时,驱动程序不会连接到启用ssl的套接字。
所以你的网址应该是
jdbc:impala://blahblah:25003/default;AuthMech=3;SSL=1
还有一件事:要解决ssl握手问题,可以使用这个java系统属性启用调试跟踪。。。-Djavax.net.debug=ssl