【问题标题】:Cannot connect to beeline hive2无法连接到直线 hive2
【发布时间】:2017-03-07 13:27:23
【问题描述】:

Hadoop 2.7.3 和 Hive 2.1.0

我可以像这样连接到直线

!connect jdbc:hive2://

但是当我输入时

!connect jdbc:hive2://hostname:10000/default org.apache.hive.jdbc.HiveDriver 或 !connect jdbc:hive2://hostname:10000/default

给出用户名和密码后 它给了我一个错误

错误:无法打开与 jdbc:hive2://:10000 的连接:java.net.ConnectException:连接被拒绝 (state=08S01,code=0)

在 CLI 中:

which: no hbase in (/user/local/maven/bin:/user/local/maven/bin:/user/local/maven/bin:/user/local/maven/bin:/user/local/maven/bin:/usr/local/rvm/gems/ruby-2.1.2/bin:/usr/local/rvm/gems/ruby-2.1.2@global/bin:/usr/local/rvm/rubies/ruby-2.1.2/bin:/usr/lib64/qt-3.3/bin:/user/local/maven/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rvm/bin:/usr/local/hive/bin:/usr/bin:/usr/local/bin:/bin:/root/bin:/usr/java/jdk1.7.0_60/bin:/usr/local/hadoop/bin/:/usr/local/hadoop/bin:/usr/local/hadoop/sbin:/usr/bin:/usr/local/bin:/usr/java/jdk1.7.0_60/bin:/usr/java/jdk1.7.0_60/bin:/usr/local/hadoop/bin/:/usr/local/hadoop/bin:/usr/local/hadoop/sbin:/usr/bin:/usr/local/bin:/usr/java/jdk1.7.0_60/bin:/usr/java/jdk1.7.0_60/bin:/usr/local/hadoop/bin/:/usr/local/hadoop/bin:/usr/local/hadoop/sbin)
ls: cannot access /usr/local/hive/lib/hive-jdbc-*-standalone.jar: No such file or directory
Beeline version 2.1.0 by Apache Hive
beeline> !connect jdbc:hive2://10.1.1.60:10000/;transportMode=binary
Connecting to jdbc:hive2://10.1.1.60:1000/;transportMode=binary
Enter username for jdbc:hive2://10.1.1.60:10000/;transportMode=binary: APP
Enter password for jdbc:hive2://10.1.1.60:10000/;transportMode=binary: ****
16/10/25 18:07:11 [main]: WARN jdbc.HiveConnection: Failed to connect to 10.1.1.60:10000
Error: Could not open client transport with JDBC Uri: jdbc:hive2://10.1.1.60:1000/;transportMode=binary: java.net.ConnectException: Connection refused (state=08S01,code=0)
beeline> 

有什么建议吗?

我为 hive 2 设置的 hive-site.xml 中的属性是:-

    <?xml version="1.0"?>
    <configuration>
    <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:derby:;databaseName=/usr/local/hive/metastore_db;create=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
    </property>

    <property>
    <name>org.apache.derby.jdbc.EmbeddedDriver</name>
    <value>org.apache.derby.jdbc.ClientDriver</value>
    <description>Driver class name for a JDBC metastore</description>
    </property>

    <property>
    <name>hive.server2.thrift.min.worker.threads</name>
    <value>5</value>
    <description>Minimum number of worker threads</description>
    </property>

    <property>
    <name>hive.server2.thrift.max.worker.threads</name>
    <value>500</value>
    <description>Maximum number of worker threads</description>
    </property>

    <property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
    <description>TCP port number to listen on</description>
    </property>

    <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>hadoop-master</value>
    <description>TCP interface to bind to</description>
    </property>


    <property>
    <name>hive.server2.transport.mode</name>
    <value>binary</value>
    <description>Set to http to enable HTTP transport mode</description>
    </property>


    <property>
    <name>hive.server2.thrift.http.port</name>
    <value>10001</value>
    <description>HTTP port number to listen on</description>
    </property>

    <property>
    <name>hive.server2.thrift.http.max.worker.threads</name>
    <value>500</value>
    <description>TCP interface to bind to</description>
    </property>

    <property>
    <name>hive.server2.thrift.http.min.worker.threads</name>
    <value>5</value>
    <description>Minimum worker threads in the server pool</description>
    </property>

    <property>
     <name>hive.server2.authentication</name>
     <value>NOSASL</value>
    </property>

    <property>
    <name>hive.server2.thrift.http.path</name>
    <value>cliservice</value>
    <description>The service endpoint</description>
    </property>


    </configuration>

有什么建议吗?

【问题讨论】:

    标签: java hadoop jdbc hive


    【解决方案1】:
    1. 首先检查您的配置单元服务器是否正在侦听端口 10000?

      netstat -an | grep 10000

      如果没有!转到 /tmp/{username}/hive.log 看看有什么问题!

    2. 如果 hive 服务器已启动并正在运行,请检查您创建的架构!

      schematool -validate -dbType -verbose

      如果架构有问题,那么您应该重新初始化架构。

    3. 如果一切正常,那么您应该使用以下方式连接:

      beeline -u jdbc:hive2://{IP or servername}:10000

    【讨论】:

    • 第二步有问题。请问再次初始化架构是什么意思?
    【解决方案2】:

    来自错误:

    16/10/25 18:07:11 [main]: WARN jdbc.HiveConnection: Failed to connect to 10.1.1.60:1000
    Error: Could not open client transport with JDBC Uri: jdbc:hive2://10.1.1.60:1000/;transportMode=binary: java.net.ConnectException: Connection refused (state=08S01,code=0)
    

    看起来您正在访问端口 1000 而不是 10,000 - 如果您连接到端口 10000 是否有效?

    如果它对端口 10000 仍然不起作用,您确定 Hiveserver2 正在侦听该端口吗?您能否在 Hiveserver2 主机上运行以下命令并确保端口上正在侦听某些内容:

    netstat -an | grep 10000
    

    【讨论】:

    • 谢谢...它的监听结果是 tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN but still not connected
    猜你喜欢
    • 2016-10-18
    • 2018-02-04
    • 1970-01-01
    • 2015-05-08
    • 2018-01-28
    • 1970-01-01
    • 2020-09-19
    • 2020-07-08
    • 1970-01-01
    相关资源
    最近更新 更多