Python操作HDFS:安装、配置与常见问题排查

巷口听风
巷口听风
发布时间:2026-10-14| 3人浏览过
原创

本文详细介绍如何使用Python通过hdfs库访问HDFS。涵盖pip安装步骤、核心代码示例(如Client初始化、文件下载),并重点解决WebHDFS服务未开启导致的连接失败问题。通过修改hdfs-site.xml启用dfs.webhdfs.enabled属性,并提供curl检测命令,帮助用户快速排查和配置Hadoop环境。

首先,需要通过pip安装hdfs库以支持Python对HDFS的操作:

Python访问HDFS的基本实现

在Python中读取HDFS目录或文件主要依赖hdfs库。安装完成后,可编写脚本连接Hadoop集群并执行文件操作。

核心代码示例


import hdfs
 
client =hdfs.Client("http://10.10.1.4:50070")
fileDir="/user/hive/warehouse/house.db/dm_house/dt=201800909"
try:
  status=client.status(fileDir,False)
  if status:
    print (status)
    rst=client.download(fileDir,"/home/dev/gewei")
    print (rst)
exception Exception as e:
  print (e)

WebHDFS服务配置与故障排查

补充知识:在使用Python访问HDFS时,若遇到WebHDFS服务找不到的错误,通常是因为集群未正确配置或相关服务未启动。

出现此类问题的常见原因是WebHDFS服务未在Hadoop配置中启用,导致Python客户端无法通过HTTP协议访问HDFS文件系统。

解决该问题需要在hdfs-site.xml配置文件中添加特定属性以启用WebHDFS支持。具体配置如下所示:

启用WebHDFS的配置方法


<property> 
  <name>dfs.webhdfs.enabled</name> 
  <value>true</value> 
</property> 

服务状态检测命令

配置完成后,可以使用curl命令验证WebHDFS服务是否正常运行。通过发送HTTP请求检查服务状态,确保配置生效。

获取HDFS目录列表是常见操作。以下示例展示了如何通过curl命令获取指定路径下的文件状态信息:

curl -i "http://Hadoop:50070/webhdfs/v1/?user.name=hadoop&op=LISTSTATUS"

以上即为Python访问HDFS的完整操作流程,包括环境配置、代码实现及故障排查。希望本文能帮助您顺利集成Python与Hadoop生态,如有问题欢迎参考相关文档或社区支持。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。