Hadoop® YARN API的Python客户端
项目描述
hadoop-yarn-api-python-client
Apache Hadoop® YARN API的Python客户端
包文档: yarn-api-client-python.readthedocs.org
REST API文档: hadoop.apache.org
警告:CLI 已过时且损坏。请勿使用 CLI。此问题将在未来的版本中得到解决。
兼容性矩阵
yarn-api-client-python | Apache Hadoop |
---|---|
1.0.2 | 3.2.1 |
1.0.3 | 3.3.0, 3.3.1 |
如果您使用的是除所述版本之外的其他版本(或类似 Hortonworks 的供应商版本),某些 API 可能无法正常工作或实现方式有差异。如果您计划长期使用某些 API,您可能想确保它在文档中不是处于 Alpha 阶段。
安装
从 PyPI
pip install yarn-api-client
从 Anaconda(conda forge)
conda install -c conda-forge yarn-api-client
从源代码
pip install git+https://github.com/CODAIT/hadoop-yarn-api-python-client.git
启用 SimpleAuth 支持
请参见以下示例
from yarn_api_client.auth import SimpleAuth
from yarn_api_client.history_server import HistoryServer
auth = SimpleAuth('impersonated_account_name')
history_server = HistoryServer('https://127.0.0.2:5678', auth=auth)
启用 Kerberos/SPNEGO 安全性支持
- 第一种方法 - 使用
requests_kerberos
包
为了避免在非 Kerberized 环境中部署问题,requests_kerberos
依赖项是可选的,并且需要显式安装才能启用对由 Kerberos/SPNEGO 保护的 YARN 控制台的访问。
pip install requests_kerberos
从 Python 代码
from yarn_api_client.history_server import HistoryServer
from requests_kerberos import HTTPKerberosAuth
history_server = HistoryServer('https://127.0.0.2:5678', auth=HTTPKerberosAuth())
PS:在运行代码之前,您必须在系统范围内的 Kerberos 缓存中获取有效的 Kerberos 票据,否则对 Kerberized 环境的调用将无法通过(在运行代码之前先运行 kinit)
- 第二种方法 - 使用
gssapi
包
如果您想避免使用终端调用,您必须执行 SPNEGO 握手以自行检索票据。完整 API 文档:[https://pythongssapi.github.io/python-gssapi/latest/](https://pythongssapi.github.io/python-gssapi/latest/)
用法
CLI 界面
警告:CLI 已过时且损坏。请勿使用 CLI。此问题将在未来的版本中得到解决。
- 第一种方法
bin/yarn_client --help
- 另一种方法
python -m yarn_api_client --help
程序化接口
from yarn_api_client import ApplicationMaster, HistoryServer, NodeManager, ResourceManager
am = ApplicationMaster('https://127.0.0.2:5678')
app_information = am.application_information('application_id')
变更日志
1.0.3 版本
- 放弃对 Python 2.7 的支持(如果您仍然需要它用于极端紧急情况,请查看回滚 ab4f71582f8c69e908db93905485ba4d00562dfd)
- 更新支持的 Hadoop 版本为 3.3.1
- 添加对 YARN_CONF_DIR 和 HADOOP_CONF_DIR 的支持
- 添加原生 SimpleAuth 类(#106)
- 添加代理构造函数参数(#109)
1.0.2 版本
- 添加对 Python 3.8.x 的支持
- 修复 HTTPS URL 解析
- 修复 JSON 请求体 API
- 处理 YARN 空内容的响应
- 更好的日志支持
1.0.1 版本
- 将授权实例传递给 Active RM 检查
- 在 readthedocs.io 上建立了一个新的(工作)文档站点:yarn-api-client-python.readthedocs.io
- 将更多 Python 版本(3.7 和 3.8)添加到测试矩阵中,并删除 2.6。
1.0.0 版本
- API 的主要清理。
- 地址/端口号参数已被完整的端点(包括方案[例如,http 或 https])所取代。
- ResourceManager 已更新,以接受端点列表以改进 HA 支持。
- ResourceManager、ApplicationMaster、HistoryServer 和 NodeManager 已更新,以包含与最新 REST API 相对应的方法。
- 在 Windows 上提供 pytest 支持。
- 已更新文档。
注意:使用 1.0 之前版本 API 的应用程序应将 yarn-api-client 的依赖项锁定为 小于 1.0,并建议尽快更新到 1.0。
0.3.7 版本
- 在没有提供地址时尊重配置的 HTTP 策略 - 启用在这些情况下使用 HTTPS。
0.3.6 版本
- 扩展 ResourceManager,使应用程序能够在提交之前确定资源可用性。
0.3.5 版本
- 热修复版本,修复内部签名不匹配问题
0.3.4 版本
- 在 HA 配置时提供对发现 Hadoop 配置(包括多个 Resource Managers)的更多灵活支持
- 正确支持 YARN 后响应代码
0.3.3 版本
- 正确设置 PUT 请求中的 Content-Type
- 检查 HADOOP_CONF_DIR 环境变量
0.3.2 版本
- 使 Kerberos/SPNEGO 依赖项可选
0.3.1 版本
- 修复 cluster_application_kill API
0.3.0 版本
- 添加对由 Kerberos/SPNEGO 保护的 YARN 端点的支持
- 移动到
requests
包以调用 REST API - 删除
http_con
属性,因为现在连接由requests
包管理
0.2.5 版本
- 修复 History REST API
0.2.4 版本
- 添加对启用 HA 的 Resource Manager 的兼容性
团队
YARN API客户端是由一个开源社区开发的,以下是按字母顺序列出的当前维护者
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
yarn-api-client-1.0.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e04455e5a59f05333b867aeec4ec53df7188cf6503073ef79912647a697205ae |
|
MD5 | ed449759d2140eaa20196529d565fdff |
|
BLAKE2b-256 | b32ee8e5e891caa6fbfbbe45227bb01e1a07341b70c9f75a23d8a7e640d272c6 |
yarn_api_client-1.0.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2d146aa08452b2a8558e69e5f71ca00c9036562fdd8aecdea71514557723da6e |
|
MD5 | 19930c9205d43e3f1554d9a7cc6d101d |
|
BLAKE2b-256 | 6bc42a5382b0ff797cb5111c4c0b6212f5965d911b8bc5fc285520a95c5dbd34 |