来自 python 中的 cloudera 管理器 api 的错误 403

Error 403 from cloudera manager api in python

我想列出 CM 的配置值。所以我有这段代码适用于不同的集群(5.9.1、5.10.0 和 5.8.3):

from cm_api.api_client import ApiResource

cm_host = "XX.XX.70.12"
api = ApiResource(cm_host, username="supervision-user", password="XXXXXX" )

cm_config = api.get_cloudera_manager().get_config(view='full')

for item in cm_config:
  print("%s   =>   %s" % (item , cm_config[item]))

这里是错误:

Traceback (most recent call last):
  File "./test.py", line 17, in <module>
    cm_config = api.get_cloudera_manager().get_config(view='full')
  File "build/bdist.linux-x86_64/egg/cm_api/endpoints/cms.py", line 115, in get_config
  File "build/bdist.linux-x86_64/egg/cm_api/endpoints/types.py", line 340, in _get_config

  File "build/bdist.linux-x86_64/egg/cm_api/resource.py", line 110, in get
  File "build/bdist.linux-x86_64/egg/cm_api/resource.py", line 73, in invoke
  File "build/bdist.linux-x86_64/egg/cm_api/http_client.py", line 174, in execute
cm_api.api_client.ApiException:  (error 403)

所以我不知道问题出在哪里。可能是什么?

谢谢,

Ps : 我用户 python cloudera API v 11.

你能验证用户密码吗? 403 错误表示禁止

我回答我自己的问题:其实是来自于用户的权利。我没有用同一个用户查询我的不同集群。所以我的阅读用户可以查询:

  • 服务
  • 组角色
  • 但不是 Cloudera Manager 参数!

它需要一个管理员帐户才能查询所有内容...