pip install hdfs
python 读取hdfs目录或文件
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)
补充知识:用python访问hdfs出现webhdfs找不到的情况
有可能是webhdfs服务没有开启
向hdfs-site.xml文件中添加属性:
<property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property>
可以使用如下命令检测,
获得目录的列表:
curl -i "http://Hadoop:50070/webhdfs/v1/?user.name=hadoop&op=LISTSTATUS"
以上这篇python访问hdfs的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
我成功地kerberized了一个测试Hortonworks集群。Ambari为这些服务创建了keytabs,并且它们都已启动。名称编号有HA。备用名称节点启动得快,活动名称节点需要更长得时间。Namenode UI显示一切都是正确的。可以使用Kerberos登录。名称编号为nn1.zim.com和nn2.zim.com 这个配置会有什么问题呢?以hdfs登录,用kinit-kt加载keytab。
命令 功能 hdfs dfs -ls /foo/.snapshot 列出一个可快照目录下的所有快照 hdfs dfs -ls /foo/.snapshot/s0 列出快照s0的所有文件 hdfs dfs -cp -ptopax /foo/.snapshot/s0/bar /tmp 从快照s0拷贝一个文件,注意一下这个例子使用了保留选项来保留timestamps,ownership,permissi
问题内容: 我正在尝试连接到在Cloudera上运行的HDFS实例。我的第一个步骤启用Kerberos和创建Keytabs(如图所示这里)。 在下一步中,我想使用密钥表进行身份验证。 它失败并显示以下错误 java.io.IOException:从keytab /etc/hadoop/conf/hdfs.keytab登录hdfs @ CLOUDERA失败:javax.security.auth.l
执行上述代码时,exchange属性不会发生变异。 我也尝试过以下方法,但没有成功: 作为一个测试,当我按照下面的方式修改代码以排除故障时,下面的代码确实会发出一个硬编码字符串,并且exchange属性发生了变化。
问题内容: 我被困在一个相当复杂的Python模块中,该模块不会返回有用的错误代码(它实际上会无声地失败而失败)。但是,它调用的基础C库设置了errno。 通常,errno是通过OSError属性传入的,但是由于我没有异常,因此无法理解。 使用ctypes时,libc.errno不起作用,因为errno是GNU libc中的宏。Python 2.6有一些优势,但Debian仍使用Python 2.
我使用kerberos身份验证配置了HDFS,我可以使用自己的keytab文件访问HDFS集群中任何机器上的HDFS。但是当我使用相同的keytab访问HDFS集群外的远程服务器上的HDFS时,我无法访问。我收到以下错误消息,顺便说一下,我已经将服务器的配置文件krb5.conf复制到hadoop集群外的远程机器。
我正试图用bde2020提供的图像构建一个轻量级的最小hadoop堆栈(学习目的)。现在,堆栈包括(除其他外) 名称节点 基本上,我从大数据欧洲官方docker撰写开始,并根据他们的留档添加了色调图像 色调的文件浏览器无法访问HDFS: 将所有服务显式放到同一网络上 当我登录到hue的容器时,我可以看到namenode的端口9870是打开的()。50070不是。我认为我的问题与网络无关。尽管编辑了