2016-10-25 37 views
1

的Hadoop 2.7.3 &蜂巢2.1.0無法連接到直線hive2

我能夠連接到直線這樣

JDBC連接:hive2://

但是,當我輸入

!connect jdbc:hive2:// hostname:10000/default org.apache.hive.jdbc.HiveDriver ! 或JDBC連接:hive2://主機名:10000 /默認

給用戶名和密碼後, 它給了我一個錯誤

錯誤:無法打開連接爲jdbc:hive2://: 10000:java.net.ConnectException:連接被拒絕(狀態= 08S01,代碼= 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/[email protected]/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> 

任何建議??

在蜂巢-site.xml中的屬性我已經爲蜂房2: -

<?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> 

有什麼建議?

回答

0

從錯誤:

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 
+0

謝謝... 其收聽的結果是 tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 但仍未連接 – Imran

0
  1. 首先檢查一下,如果你的蜂巢服務器在端口10000監聽?

    netstat -an | grep 10000

    如果不是!去/tmp/{username}/hive.log看看有什麼不對!

  2. 如果hive服務器已啓動並正在運行,請檢查您創建的模式!

    schematool -validate -dbType -verbose

    如果架構有問題,那麼你應該重新初始化的模式。

  3. 如果一切正常,那麼你應該使用連接:

    直線-u的jdbc:hive2:// {IP或服務器名稱}:10000