我在试^{
from snakebite.client import Client
client = Client("my.host.com", 8020, effective_user='datascientist')
首先,我试图列出用户目录:
^{pr2}$这很好地工作,并打印了两个字典;目录中的每个条目对应一个。其中一个项目是一个文件foobar.txt
,我想看看。为此,我想我应该使用^{
for cat in client.cat(['/user/datascientist/da-foobar.txt',]):
print(cat)
for item in cat:
print(item)
但是,这没用。我收到以下错误消息:
ConnectionFailureException: Failure to connect to data node at (10.XXX.YYY.ZZZ:50010)
我做错什么了?在
顺便说一句:使用来自pywebhdfs.webhdfs
的PyWebHdfsClient
我启动了一个地址相同但端口为50070的客户机,从而成功地查看了该文件。我不知道这是否相关。在
编辑1:我也尝试使用snakebite.client.Client.text
并得到相同的错误。我想这并不奇怪。在
顺便说一句,文件的内容是my file is this\ntest file
。在
我找到了解决办法。似乎可以在name节点上单独完成列出操作。相反,打印文本文件需要访问数据节点!通过实例化客户机,如下所示
cat
操作的工作原理是它不使用内部IP,而是使用主机名。我总结了一个minimal example。在相关问题 更多 >
编程相关推荐