python 操作CDH的HDFS

系统 1394 0

环境:安装了pyenv,pip
pyenv global 3.6.8

pip install hdfs
pip install ipython  (个人喜欢使用pyenv的自动补全功能)
安装完hdfs后建议重启,测试过程出现了hdfs模块找不到的情况
注意:客户端分为Client和InsecureClient,Client需要验证权限

            
              In [1]: from hdfs import InsecureClient                                                                                                                                
In [2]: client_hdfs = InsecureClient('http://192.168.4.86:9870',user='hdfs')                                                                                           
In [3]: client_hdfs.list('/')                                                                                                                                          
Out[3]: ['dongsc', 'hbase', 'tmp', 'user']
In [4]: client_hdfs.makedirs('/dongsc2')  
In [6]: client_hdfs.delete('/dongsc',recursive='true')       --recursive:是否允许递归删除                                                                                                         
Out[6]: True
            
          


假如想使用Client添加对权限的认证,需要修改授权,将root用户添加进ACLs中
Client模块下,尽管当前用户是root,但是hadoop 里的hdfs是另外一套文件系统了,root在里面是没有权限的。
上传文件时需要注意:
客户端(运行python的机器)必须要有NameNode和DataNode的解析,可以是DNS,也可以是/etc/hosts,否则会出现:

            
              。。。。。。。。。。。。。。。省略,下面是报错的最后一句。。。。
/usr/local/lib/python3.6/site-packages/urllib3/connection.py in _new_conn(self)
    167         except SocketError as e:
    168             raise NewConnectionError(
--> 169                 self, "Failed to establish a new connection: %s" % e)
    170 
    171         return conn
NewConnectionError: 
              
                : Failed to establish a new connection: [Errno -2] Name or service not known
              
            
          

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论