使用python的api进行cloudera的api,调用。
像这样。
from cm_api.api_client import ApiResource
api = ApiResource(CM_HOST, username=CM_USER, password=CM_PASSWD)
api.get_all_clusters()
结果如下:
clist = api.get_all_clusters()
File "/usr/lib/python2.6/site-packages/cm_api/api_client.py", line 128, in get_all_clusters
return clusters.get_all_clusters(self, view)
File "/usr/lib/python2.6/site-packages/cm_api/endpoints/clusters.py", line 65, in get_all_clusters
params=view and dict(view=view) or None)
File "/usr/lib/python2.6/site-packages/cm_api/endpoints/types.py", line 139, in call
ret = method(path, params=params)
File "/usr/lib/python2.6/site-packages/cm_api/resource.py", line 100, in get
return self.invoke("GET", relpath, params)
File "/usr/lib/python2.6/site-packages/cm_api/resource.py", line 63, in invoke
headers=headers)
File "/usr/lib/python2.6/site-packages/cm_api/http_client.py", line 161, in execute
raise self._exc_class(ex)
cm_api.api_client.ApiException: (error 404)
多次复查,没有问题,参数没有问题,密码没有问题。
最后,查出了原因,需要加个版本参数。
from cm_api.api_client import ApiResource
api = ApiResource(CM_HOST, version=1, username=CM_USER, password=CM_PASSWD)
搞定。