2017-03-01 9 views
1

ハイブに接続しようとする前にこのエラーが発生したことがありますか?ハイブに接続中にソケットエラーが発生しました:hiveserver2-client.py

使用するサンプルコード(https://github.com/telefonicaid/fiware-cygnus/blob/master/cygnus-ngsi/resources/hiveclients/python/hiveserver2-client.py):

import sys 
import pyhs2 
from pyhs2.error import Pyhs2Exception 

# get the input parameters 
if len(sys.argv) != 6: 
    print 'Usage: python hiveserver2-client.py <hive_host> <hive_port> <db_name> <hadoop_user> <hadoop_password>' 
    sys.exit() 

hiveHost = sys.argv[1] 
hivePort = sys.argv[2] 
dbName = sys.argv[3] 
hadoopUser = sys.argv[4] 
hadoopPassword = sys.argv[5] 

# do the connection 
with pyhs2.connect(host=hiveHost, 
        port=hivePort, 
        authMechanism="PLAIN", 
        user=hadoopUser, 
        password=hadoopPassword, 
        database=dbName) as conn: 
    # get a client 
    with conn.cursor() as client: 
     # create a loop attending HiveQL queries 
     while (1): 
      query = raw_input('remotehive> ') 

      try: 
       if not query: 
        continue 

       if query == 'exit': 
        sys.exit() 

       # execute the query 
       client.execute(query) 

       # get the content 
       for row in client.fetch(): 
        print row 

      except Pyhs2Exception, ex: 
       print ex.errorMessage 

エラーが表示さ:

[[email protected]]$ sudo python hiveserver2-client.py computing.cosmos.lab.fiware.org 10000 default USERNAME TOKEN 
Traceback (most recent call last): 
    File "hiveserver2-client.py", line 42, in <module> 
    database=dbName) as conn: 
    File "/usr/lib/python2.7/site-packages/pyhs2/__init__.py", line 7, in connect 
    return Connection(*args, **kwargs) 
    File "/usr/lib/python2.7/site-packages/pyhs2/connections.py", line 46, in __init__ 
    transport.open() 
    File "/usr/lib/python2.7/site-packages/pyhs2/cloudera/thrift_sasl.py", line 74, in open 
    status, payload = self._recv_sasl_message() 
    File "/usr/lib/python2.7/site-packages/pyhs2/cloudera/thrift_sasl.py", line 92, in _recv_sasl_message 
    header = self._trans.readAll(5) 
    File "/usr/lib/python2.7/site-packages/thrift/transport/TTransport.py", line 60, in readAll 
    chunk = self.read(sz - have) 
    File "/usr/lib/python2.7/site-packages/thrift/transport/TSocket.py", line 132, in read 
    message='TSocket read 0 bytes') 
thrift.transport.TTransport.TTransportException: TSocket read 0 bytes 

答えて

0

あなたは、コードのあなたの作品を投稿することができますか?これは、いくつかの認証メカニズムまたは送信された資格情報が有効でないようです。

authMechanism= can be "PLAIN" or "KERBEROS"です。

+0

返信ありがとう、私はauthMechanismとしてPLAINを使用しています。私はちょうど私が使用しているコードで質問を更新しました。 – netzahdzc

+0

このエラーは、FIWARE Labのメンテナンス活動によって発生する可能性があります。もう一度確認してください。現在、それは働いているようだ。 – frb

+0

うん、それは今働いている、両方のおかげで – netzahdzc

関連する問題