hadoop - 直接使用 scp 将 hdfs 文件复制到远程 linux 服务器?
问题描述
我有一个用例将最新生成的 HDFS 文件复制到 linux 远程服务器。我不想将中间文件存储在本地文件系统中,然后对远程服务器执行 scp。
我知道这一点,但我想避免它(出于显而易见的原因 - 在本地 fs 中存储大文件的开销)
hadoop fs -copyToLocal <src> <dest>
and then scp toMyLinuxFileSystem
是否有直接将 hdfs 文件复制到远程 linux 服务器的命令?
解决方案
如果ssh
到服务器可用,您可以使用 linux 管道流式传输数据
hdfs dfs -cat my-file.txt | ssh myserver.com 'cat > /path/to/my-file.txt'
第一个命令将文件数据作为流读取,第二个命令将其重定向到远程服务器。为我工作。考虑到如果很长一段时间没有任何东西连接,ssh 有时会超时。
推荐阅读
- linux - 如何将负整数传递给 renice?
- tensorflow - 张量流是在 GPU 还是 CPU 上运行?(视窗)
- excel - WorkFusion RPA Express 中的数值 Excel 值列表
- c - 声明 char* 不适用于 strcat()
- javascript - AR.JS HTML 内容在接受相机之前显示
- r - R中的xlsx :: loadWorkbook错误
- rstudio - 找不到共享对象“stringi.so”
- java - 将 Map 传递给 IteratorItemReader
- php - php转换多维数组
- java - 在设备上安装两个类似的 Unity 应用程序时出错