跳至主要内容

Hadoop® YARN API的Python客户端

项目描述

hadoop-yarn-api-python-client

Apache Hadoop® YARN API的Python客户端

Latest Version Downloads Travis CI build status Latest documentation status Test coverage

包文档: 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 安全性支持

  1. 第一种方法 - 使用 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)

  1. 第二种方法 - 使用 gssapi

如果您想避免使用终端调用,您必须执行 SPNEGO 握手以自行检索票据。完整 API 文档:[https://pythongssapi.github.io/python-gssapi/latest/](https://pythongssapi.github.io/python-gssapi/latest/)

用法

CLI 界面

警告:CLI 已过时且损坏。请勿使用 CLI。此问题将在未来的版本中得到解决。

  1. 第一种方法
bin/yarn_client --help
  1. 另一种方法
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 (23.7 kB 查看哈希值)

上传

构建分布

yarn_api_client-1.0.3-py3-none-any.whl (26.0 kB 查看哈希值)

上传 Python 3

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误记录StatusPageStatusPage状态页面