我需要设置计划任务,目的是将大量数据从本地数据中心复制/移动到 Windows Azure Blob 存储。
我探索的选项是 WebHDFS 和 Flume(HDInsight 目前似乎不支持后者)。
将非结构化文件从数据中心传输到 Windows Azure Blob 存储的最有效方法是什么?
我需要设置计划任务,目的是将大量数据从本地数据中心复制/移动到 Windows Azure Blob 存储。
我探索的选项是 WebHDFS 和 Flume(HDInsight 目前似乎不支持后者)。
将非结构化文件从数据中心传输到 Windows Azure Blob 存储的最有效方法是什么?
如果您使用的是 HDInsight,则根本不需要涉及 HDFS。事实上,您不需要运行集群来上传数据。将数据导入 HDInsight 的最佳方式是使用标准 .NET 客户端或 Azure Management Studio 或 AzCopy 等第三方将其上传到 Azure Blob 存储。
如果您想不断地流式传输数据,那么您最好设置 Flume、Kafka 或 Storm 之类的东西来处理 HDInsight 集群,但这需要对集群本身进行一定程度的自定义,这意味着您将运行重新启动问题,并需要一个永久集群。
不,您不能使用水槽将数据直接流式传输到 HDInsight。微软博客的帖子说
绝大多数 Flume 消费者会将他们的流数据放到 HDFS 中——而 HDFS 并不是 HDInsight 使用的默认文件系统。即使是这样 - 我们不会公开面向公众的名称节点或 HDFS 端点,因此 Flume 代理将很难到达集群!因此,出于这些原因和其他一些原因,答案通常是“不。……它不起作用或不受支持”
您可以使用 CloudBerry 驱动器和 Flume 将数据流式传输到 HDInsight 群集/Azure Blob 存储
http://blogs.msdn.com/b/bigdatasupport/archive/2014/03/18/using-apache-flume-with-hdinsight.aspx
还值得一提的是 ExpressRoute 选项。Microsoft 现在有一个名为 ExpressRoute 的程序,您的数据中心可以与您的 ISP 合作,以更快的连接直接连接到 Azure。另请参阅http://azure.microsoft.com/en-us/services/expressroute/