首页 > 解决方案 > 直接使用 scp 将 hdfs 文件复制到远程 linux 服务器?

问题描述

我有一个用例将最新生成的 HDFS 文件复制到 linux 远程服务器。我不想将中间文件存储在本地文件系统中,然后对远程服务器执行 scp。

我知道这一点,但我想避免它(出于显而易见的原因 - 在本地 fs 中存储大文件的开销)

hadoop fs -copyToLocal <src> <dest>
and then scp toMyLinuxFileSystem

是否有直接将 hdfs 文件复制到远程 linux 服务器的命令?

标签: hadoophdfsclouderascphue

解决方案


如果ssh到服务器可用,您可以使用 linux 管道流式传输数据

hdfs dfs -cat my-file.txt | ssh myserver.com 'cat > /path/to/my-file.txt'

第一个命令将文件数据作为流读取,第二个命令将其重定向到远程服务器。为我工作。考虑到如果很长一段时间没有任何东西连接,ssh 有时会超时。

此答案的功劳:https ://superuser.com/questions/291829


推荐阅读