如何在不运行任何命令的情况下将文件从外部 Hadoop 集群复制到 Amazon S3



我有必须将数据从Hadoop集群拉入AWS的场景。我知道在 hadoop 集群上运行 dist-cp 是一种将数据复制到 s3 的方法,但我在这里有一个限制,我将无法在集群中运行任何命令。我应该能够将文件从Hadoop集群拉入AWS。 数据在配置单元中可用。

我想到了以下选项:
1( 来自 Hive 的 Sqoop 数据?可能吗?
2( S3-distcp (在 AWS 上运行它(,如果是这样,需要什么配置?

有什么建议吗?

如果 Hadoop集群在 EC2-land 上可见,您可以在那里运行 distcp 命令,或者,如果它是特定的数据位,则运行一些使用 hdfs://作为输入并写出到 s3 的 Hive 查询。不过,您需要处理 kerberos auth:您不能在未 kerberized 的集群中使用 distcp 从 kerberized 集群中读取数据,尽管您可以采用另一种方式。

您也可以在 1+ 机器中本地运行 distcp,尽管您受到这些单个系统的带宽的限制。 distcp 最好在实际拥有数据的主机上安排上传。

最后,如果您感兴趣的是增量备份,则可以使用 HDFS 审核日志作为更改文件的来源...这就是增量备份工具倾向于使用的

最新更新