`
lc87624
  • 浏览: 143970 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用python访问hdfs——pyhdfs库的编译&安装

阅读更多
首先可以参考这两篇文档:
http://code.google.com/p/libpyhdfs/source/browse/trunk/INSTALL
http://www.cnblogs.com/zhangmiao-chp/archive/2011/05/04/2036665.html

然后补充两个细节:
1. 我在执行:
apt-get install libhdfs0-dev

的时候提示找不到包,改成:
apt-get install libhdf4-dev

之后安装成功。

2. 文档一中提到:
引用
You can copy your libhdfs.so into `lib' directory.

其中的libhdfs.so位于hadoop的目录下,在我这边是位于hadoop-1.0.3-bin/c++/Linux-i386-32/lib/下,编译pyhdfs时需要用到。

pyhdfs编译安装成功后,在python代码中
import pyhdfs

可能仍然会报错:
引用
ImportError: libhdfs.so.0: cannot open shared object file: No such file or directory


此时需要编辑/etc/ld.so.conf ,将上文提到的hadoop-1.0.3-bin/c++/Linux-i386-32/lib/目录地址添加进去,然后执行
sudo /sbin/ldconfig -v

使配置生效即可。
分享到:
评论
4 楼 u010347372 2014-03-23  
whxiyi100829 写道
使用import pyhdfs没问题
当用fs = pyhdfs.connect('192.168.1.10',9000)调用时报的上面的错误~
谢谢啦~

我也出现相同相同的问题,请问您是如何解决的?
3 楼 lc87624 2012-12-23  
whxiyi100829 写道
使用import pyhdfs没问题
当用fs = pyhdfs.connect('192.168.1.10',9000)调用时报的上面的错误~
谢谢啦~

貌似你这应该是hadoop配置的问题,信息有限,具体原因我也不太清楚,你看看是不是少了jar包?
2 楼 whxiyi100829 2012-12-17  
使用import pyhdfs没问题
当用fs = pyhdfs.connect('192.168.1.10',9000)调用时报的上面的错误~
谢谢啦~
1 楼 whxiyi100829 2012-12-17  
你好,我按照你所说的走了好几遍,出现如下错误,能帮忙解决一下不?
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration
        at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<init>(DefaultMetricsSystem.java:37)
        at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<clinit>(DefaultMetricsSystem.java:34)
        at org.apache.hadoop.security.UgiInstrumentation.create(UgiInstrumentation.java:51)
        at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:219)
        at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:187)
        at org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:239)
        at org.apache.hadoop.security.KerberosName.<clinit>(KerberosName.java:83)
        at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:212)
        at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:187)
        at org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:239)
        at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:438)
        at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:424)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:111)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.configuration.Configuration
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        ... 13 more
我用的是hadoop-1.0.2

相关推荐

    Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作

    在描述中,提到了Python在Linux环境下与HDFS交互的需求,以及使用Pandas进行数据处理的场景。从标签中我们可以进一步了解到涉及的技术包括Python、HDFS、上传下载、Pandas和CSV。 首先,Python连接HDFS主要依赖于`...

    python解析hdfs文件和实现方式

    本文将详细介绍如何使用Python解析HDFS文件,并将其内容生成为本地文件,以及相关的插件包安装步骤。 首先,我们需要安装Python的HDFS客户端库,最常用的是`pyarrow`和`hdfs3`。`pyarrow`是Apache Arrow项目的一...

    《HDFS——Hadoop分布式文件系统深度实践》PDF

    《HDFS——Hadoop分布式文件系统深度实践》这本书是针对Hadoop分布式文件系统(HDFS)的详尽指南,旨在帮助读者深入理解HDFS的工作原理、设计思想以及在实际应用中的最佳实践。HDFS是Apache Hadoop项目的核心组件之...

    如何在python中用HDFS文件系统实现高效存储

    Python在HDFS文件系统上实现高效存储的过程不仅限于使用H5Py库,还可以借助其他工具和库,比如Pydoop,这是一个支持在Python中操作HDFS的库。Pydoop允许用户以Python的方式编写MapReduce任务,并与HDFS进行交互,...

    python读取hdfs上的parquet文件方式

    总的来说,Python 中读取 HDFS 上的 Parquet 文件涉及到多个库的配合使用,包括 hdfs3 用于 HDFS 访问,fastparquet 或 pyarrow 用于处理 Parquet 格式。正确配置这些库并理解 HA 模式对于高效地处理分布式数据至关...

    python访问hdfs的操作

    Python 访问 HDFS(Hadoop Distributed File System)主要依赖于第三方库,如 `hdfspython`(也称为 `snakebite`),它提供了一种简单的方法来与 HDFS 进行交互。以下是对如何使用 Python 访问 HDFS 的详细步骤和...

    pyhdfs:Python HDFS客户端

    Python HDFS客户端 由于全球需求从Python的谈话HDFS。 用法 该库为提供了Python客户端。 通过传入两个NameNode来支持NameNode HA。 响应作为漂亮的Python类返回,并且任何失败的操作都将引发与Java异常匹配的...

    pyhdfs安装包

    - 在实际使用中,确保Hadoop HDFS服务已经启动,并且Python程序有权限访问HDFS。 - 如果HDFS集群不在本地,记得替换`hosts`参数为你集群的实际地址。 - 调用`delete`方法时,`recursive=True`表示递归删除目录及其...

    Python库 | hdfs3-0.1.4-py2.py3-none-any.whl

    `.whl`文件是一种预编译的Python分发格式,它允许用户在没有`setup.py`安装脚本的情况下直接安装库,简化了部署流程。 ### HDFS简介 HDFS是Hadoop生态系统的核心组件之一,它是一个分布式文件系统,设计目标是为了...

    Python库 | PyHDFS-0.1.2.tar.gz

    **Python库PyHDFS简介** PyHDFS是一个Python接口,用于与Hadoop分布式文件系统(HDFS)进行交互。这个库使得Python开发者能够方便地在HDFS上执行各种操作,如读取、写入、移动和删除文件。PyHDFS是基于libhdfs的,...

    高可用性的HDFS-Hadoop分布式文件系统深度实践.part1.rar

    《高可用性的HDFS——Hadoop分布式文件系统深度实践》专注于Hadoop分布式文件系统(hdfs)的主流ha解决方案,内容包括:hdfs元数据解析、hadoop元数据备份方案、hadoop backup node方案、avatarnode解决方案以及最新...

    python存数据到hdfs.docx

    为了方便地使用Python进行HDFS的操作,我们可以利用`hdfs`库,这是一个Python接口,允许我们通过Python脚本来读写HDFS中的文件。该文档主要介绍了如何使用Python将数据存储到HDFS中,下面将详细解释相关的知识点。 ...

    python 操作 Hadoop hdfs

    这里以`hdfs`库为例,你可以通过pip安装: ```bash pip install hdfs ``` `HadoopClient.py`可能是实现HDFS操作的Python脚本,其中可能包含以下内容: 1. **连接HDFS**:使用`hdfs`库创建一个客户端实例,通常...

    python读取hdfs并返回dataframe教程

    补充知识部分讲述了Python连接HDFS的其他方法,如使用`pyhdfs`库。`pyhdfs`库允许我们直接在HDFS上进行文件的读写操作。例如,要读取文件,可以创建`HdfsClient`对象,然后调用`open`方法打开文件。读取的内容默认为...

    python使用hdfs3模块对hdfs进行操作详解

    ### Python使用hdfs3模块对HDFS进行操作详解 #### 概述 在大数据处理领域,Hadoop分布式文件系统(HDFS)是存储大规模数据集的重要工具之一。Python作为一种广泛使用的编程语言,在处理HDFS中的数据时也发挥着重要...

    访问hdfs用到的客户端jar包

    在分布式存储领域,Hadoop HDFS(Hadoop Distributed File System)是广泛使用的开源文件系统,它为大数据处理提供了高容错、高吞吐量的数据访问。为了与HDFS进行交互,开发者通常需要在本地环境中配置相应的Java库...

    c 操作hdfs

    在C语言环境中操作HDFS,需要借助于libhdfs库,这是一个Java Native Interface (JNI) 库,允许C/C++代码访问HDFS。 描述提到“通过libhdfs操作HDFS,需要配置好开发环境,makefile中的文件路径根据实际路径修改。”...

    hdfs3:libhdfs3的包装器,可与Python的HDFS交互

    hdfs3该项目未在开发中Pyarrow的JNI 是成熟且稳定的。 它还具有较少的配置和各种...旧的自述文件hdfs3是libhdfs3的轻量级Python包装器, 是与Hadoop File System(HDFS)进行交互的本机C / C ++库。 查看有关hdfs3的。

Global site tag (gtag.js) - Google Analytics