通过直线连接问题配置JDBC

时间:2015-11-08 12:39:39

标签: jdbc tcp hive

如果我尝试通过直线连接到hive,请使用mapr沙箱:

    !connect jdbc:hive2://

它没有问题连接

连接到:Apache Hive(版本1.2.0-mapr-1508) 驱动程序:Hive JDBC(版本1.2.0-mapr-1508) 事务隔离:TRANSACTION_REPEATABLE_READ

如果我尝试连接实际地址:

    !connect jdbc:hive2://192.168.48.138:10000

错误:无法使用JDBC Uri打开客户端传输:jdbc:hive2://192.168.48.138:10000:null(state = 08S01,code = 0) 0:jdbc:hive2://192.168.48.138:10000(已关闭)>

我可以通过cli看到hiveserver2正在运行:

    hs2              0      /opt/mapr/hive/hive-1.2/logs/mapr   HiveServer2

我可以从我的mac telnet到端口10000并获得连接。

我还可以看到端口10000正在侦听

    tcp        0      0 0.0.0.0:10000               0.0.0.0:*                   LISTEN      9270/java

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

Hive从具有各种模式的客户端连接到直线。

1.嵌入式模式:         Server和Client都在同一台机器上运行。无需TCP连接。

    If value of "hive.server2.authentication" property in hive-site.xml is  "NONE" is known as an Hive server Connection in embedded mode.

   If its value is NONE then you can use below url to connect with hive- beeline   
Connection URL:
               !connect jdbc:hive2://

<强> 2。远程模式:         它支持多个客户端在以下身份验证方案的帮助下执行查询。

身份验证方案:

i.)SASL Authentication:

   If value of "hive.server2.authentication" property in HIVE_HOME/conf/hive-site.xml to be set as "SASL" then connect hive beeline with below url

   Beeline URL:
             !connect jdbc:hive2://<host>:<port>/<db>

ii.)NOSASL Authentication:
   If "hive.server2.authentication" is nosasl then connect the beeline like below.
   Beeline URL:

             !connect jdbc:hive2://<host>:<port>/<db>;auth=noSasl

希望这真的有助于你

参考文献: https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.2/bk_dataintegration/content/beeline-vs-hive-cli.html