簡體   English   中英

無法使用蛇咬來獲取和顯示文件

[英]Unable to fetch and display files using snakebite

我在試snakebite 我啟動了以下客戶端:

from snakebite.client import Client
client = Client("my.host.com", 8020, effective_user='datascientist')

首先,我嘗試列出用戶目錄:

for x in client.ls(['/user/datascientist']):
    print x

這很好用,並打印了幾本詞典。 目錄中的每個項目一個。 其中一項是我想要查看的文件foobar.txt 為此,我相信我應該使用Client.cat

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

我找到了一個解決方案。 列表操作似乎可以僅在名稱節點上完成。 相反,打印文本文件需要訪問數據節點! 通過如下實例化客戶端

client = Client("stage-gap-namenode-2.srv.glispa.com", 8020, effective_user='datascientist', 
                use_datanode_hostname=True)

cat操作的工作原理是不使用內部IP,而是使用主機名。 我總結了一個最小的例子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM