我的目标是从hdfs下载文件到本地文件系统。
我正在使用连接到远程HDFS NameNode的客户端。
的 hadoop fs -get hdfs://sourceHDFS:8020/path_to_file/file /path_to_save_file
我有一个例外。
15/03/17 12:18:49 WARN client.ShortCircuitCache: ShortCircuitCache(0x11bbad83): failed to load 1073754800_BP-703742109-127.0.0.1-1398459391664
15/03/17 12:18:49 WARN hdfs.BlockReaderFactory: I/O error constructing remote block reader.
java.io.IOException: Got error for OP_READ_BLOCK, self=/127.0.0.1:57733, remote=bigdatalite.localdomain/127.0.0.1:50010, for file /user/hive/warehouse/b2_olap_hive.db/dim_deal_log/000000_0, for pool BP-703742109-127.0.0.1-1398459391664 block 1073754800_13977
我对情况的理解。 HDFS客户端连接到NameNode,但NameNode返回本地DataNode IP(因为NameNode和DataNode位于同一台机器上)。对于远程客户端127.0.0.1
,DataNode是错误的地址。
如何连接正确的datanode?也许我的理解是错的?
提前致谢
答案 0 :(得分:1)
您无法绑定到127.0.0.1。确保/ etc / hosts中的主机名条目指向非环回接口。弹出您的datanode和namenode。