2017-12-16 3 views
0

私はIBM解析エンジンでpython-ambariclientを使用しようとしている。そして、ConnectionErrorは、IBM解析エンジンに接続する

$ pip install --quiet python-ambariclient 

from future.standard_library import install_aliases 
install_aliases() 
from urllib.parse import urlparse 

import json 
vcap = json.load(open('vcap.json')) 

USER   = vcap['cluster']['user'] 
PASSWORD  = vcap['cluster']['password'] 
AMBARI_URL = vcap['cluster']['service_endpoints']['ambari_console'] 
CLUSTER_ID = vcap['cluster']['cluster_id'] 

url = urlparse(AMBARI_URL) 

HOST = url.hostname 
PORT = url.port 

from ambariclient.client import Ambari 
ambari = Ambari(HOST, port=PORT, username=USER, password=PASSWORD) 

for cluster in ambari.clusters: 
    print('> ' + cluster.cluster_name) 

はしかし、私は、接続の問題を取得しています:

ConnectionError: HTTPConnectionPool(host='XXXXXX.bi.services.us-south.bluemix.net', port=9443): Max retries exceeded with url: /api/v1/clusters (Caused by ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',)))

答えて

0

プロトコルがありませんでした:

... 
url = urlparse(AMBARI_URL) 

HOST = url.hostname 
PORT = url.port 
PROTOCOL = url.scheme 
... 

ambari = Ambari(HOST, ... , protocol=PROTOCOL) 

フルコード:

from future.standard_library import install_aliases 
install_aliases() 
from urllib.parse import urlparse 

import json 
vcap = json.load(open('vcap.json')) 

USER   = vcap['cluster']['user'] 
PASSWORD  = vcap['cluster']['password'] 
AMBARI_URL = vcap['cluster']['service_endpoints']['ambari_console'] 
CLUSTER_ID = vcap['cluster']['cluster_id'] 

url = urlparse(AMBARI_URL) 

HOST = url.hostname 
PORT = url.port 
PROTOCOL = url.scheme 

from ambariclient.client import Ambari 
ambari = Ambari(HOST, port=PORT, username=USER, password=PASSWORD, protocol=PROTOCOL) 

for cluster in ambari.clusters: 
    print('> ' + cluster.cluster_name) 
関連する問題