10

我试图了解如何部署使用 Kinesis 客户端库 (KCL) 构建的 Amazon Kinesis 客户端应用程序。

我发现了这个,但它只说明

在部署 Amazon Kinesis 应用程序时,您可以按照自己的最佳实践将代码部署到 Amazon EC2 实例。例如,您可以将您的 Amazon Kinesis 应用程序添加到您的 Amazon EC2 AMI 之一。

这并没有给我一个更广泛的画面。

这些示例使用 Ant 脚本来运行 Java 程序。这是最好的做法吗?

此外,我什至在运行 EC2 实例之前了解我需要确保

  1. 开发的代码 JAR/WAR 或任何其他格式需要在 EC2 实例上
  2. EC2 实例需要具备所有必需的环境(例如 Ant 设置)才能执行程序。

有人可以添加更多细节吗?

4

3 回答 3

9

Amazon Kinesis 将负责摄取数据,而不是运行您的应用程序。您可以在任何地方运行您的应用程序,但最好在 EC2 中运行它,因为您可能会使用其他 AWS 服务,例如 S3 或 DynamoDB(例如,Kinesis 客户端库使用 DynamoDB 进行分片)。

为了更好地了解 Kinesis,我建议您启动Kinesis Data Visualization Sample。启动此应用程序时,请使用提供的 CloudFormation 模板。它将创建一个包含 Kinesis 流的堆栈和一个包含应用程序的 EC2 实例,该实例使用 Kinesis 客户端库,并且是一个完整的工作示例。

于 2014-07-11T12:11:21.773 回答
1

我发现托管消费者程序的最佳方式是使用 EMR,但不是作为 hadoop 集群。将您的程序打包为 jar,并将其放在 s3 中。启动一个 emr 集群并让它运行你的 jar。使用数据管道,您可以安排此作业流定期运行。如果您选择获得高科技,您还可以扩展 emr 集群,或者使用实际的 EMR 作业来处理流。

于 2014-07-12T03:12:08.920 回答
1

您也可以使用 Beanstalk。我相信这篇文章非常有用。

于 2015-04-20T09:04:41.290 回答