问题标签 [amazon-kinesis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
9994 浏览

java - Amazon Kinesis + 集成测试

我目前正在开发一系列需要与 Kinesis 集成的 Web 服务 - 实现已经完成,但是我们有一系列集成测试(我们的 Web 服务都使用 Spring Boot,所以我们使用@WebIntegrationTest注释我们的测试类启动服务器的本地实例,然后使用TestRestTemplate) 调用我们的资源,这些资源当前正在尝试连接到真正的 Kinesis,但未能成功。

虽然在普通的单元测试中模拟对 Kinesis 库中方法的调用不是问题,但我们不能在集成测试中真正做到这一点,因为整个应用程序堆栈都与 Spring 连接在一起。对于其他一些事情(例如 OAuth2 和对我们其他 Web 服务的调用),我们已经能够使用 WireMock 来模拟实际的端点——我真正想做的是以这种方式使用 WireMock 来模拟致电,AmazonKinesisClient但我找不到有关如何执行此操作的任何建议。

或者,我看到一些 AWS 组件具有由第三方编写的测试库,允许您运行它的本地版本(例如:DynamoDbLocal),但无法为 Kinesis 找到这样的解决方案。

有人能给我一些关于如何使用 Kinesis 运行集成测试的建议吗?

0 投票
1 回答
3591 浏览

emr - Kinesis GetShardIterator...无效,因为它不是来自此流

我已经在https://spark.apache.org/docs/1.2.0/streaming-kinesis-integration.html上构建了一个 KCL plus spark 基础

我在 EMR 上运行它(通过引导程序安装 spark)。我在流 sparkTest 上创建并测试了它的工作正常。我观察到没有创建任何 DynamoDB。我已经删除了 stream 和 cluster 。第二天,我再次创建了同名的 Kinesis Steam,并使用新启动的集群部署了我的代码。现在我得到

我无法理解为什么会这样。如果我创建新的 kinesis 流然后进行工作,它会再次工作。Kinesis 有问题吗?

另一个线程正在使用 https://github.com/awslabs/amazon-kinesis-connectors/issues/8 但是我没有使用 kinesis 应用程序名称并创建流

0 投票
0 回答
87 浏览

ruby - 封装在函数中时 Ruby 代码不起作用

我正在尝试从 ruby​​ 访问 kinesis。我对红宝石的经验非常少。我在 REPL (shell) 中写了一些代码。该代码运行良好,但由于某种原因,当我将其包装在一个函数中时,它无法按预期工作。为什么?

0 投票
13 回答
51456 浏览

apache-spark - 应用程序_(状态:已接受)的应用程序报告永远不会在 Spark 提交中结束(在 YARN 上使用 Spark 1.2.0)

我正在运行 kinesis plus spark 应用程序 https://spark.apache.org/docs/1.2.0/streaming-kinesis-integration.html

我正在运行如下

ec2 实例上的命令:

我已经在 EMR 上安装了 spark。

我越来越低于 INFO 并且它永远不会结束。

有人可以让我知道为什么它不起作用吗?

0 投票
1 回答
557 浏览

apache-spark - 似乎不是用于 spark plus kinesis 集成的 Kinesis 客户端库应用程序

我正在浏览代码 https://github.com/apache/spark/blob/master/extras/kinesis-asl/src/main/java/org/apache/spark/examples/streaming/JavaKinesisWordCountASL.java

它展示了 kinesis 如何将流数据发送到 SparkContext,然后 spark 可以进一步处理。

在给定的示例代码中,如果我看到http://docs.aws.amazon.com/kinesis/latest/dev/kinesis-record-processor-implementation-app-java.html,我试图了解此代码是 KCL 应用程序 它说在 Java 中实施 Amazon Kinesis 应用程序时,您必须完成以下任务:

任务

实现 IRecordProcessor 方法 为 IRecordProcessor 接口实现类工厂 修改配置属性

但火花示例代码 https://github.com/apache/spark/blob/master/extras/kinesis-asl/src/main/java/org/apache/spark/examples/streaming/JavaKinesisWordCountASL.java没有参考IRecordProcessor 和 worker 等。

注意:https : //spark.apache.org/docs/1.2.0/streaming-kinesis-integration.html 在部署部分下它说单个 Kinesis 输入 DStream 可以通过创建多个 KinesisRecordProcessor 线程从 Kinesis 流的多个分片中读取。但是没有 KinesisRecordProcessor 的实现是否缺少。或者我错过了一些明显要理解的东西

有人可以解释一下这是 KCL 应用程序吗?

0 投票
1 回答
125 浏览

amazon-web-services - AWS Kinesis - 第三方服务器上的数据源

AWS Kinesis 的新手。

我们正在尝试评估将在位于第三方服务器上的日志文件中捕获的事件放入 AWS Kinesis 流中是否有意义甚至可能,因为我们只有 VPN 访问日志文件所在的服务器.

基于浏览 AWS 文档,我假设没有我们的客户端允许我们在该服务器上运行 Kinesis“生产者”应用程序的一些实现,这些事件可以从所述日志文件中连续读取,然后将它们发送到AWS Kinesis 流没有其他可行的选择。

这个假设是否正确,有没有人不得不处理类似这种情况的事情?

0 投票
2 回答
2854 浏览

performance-testing - 如何将 25k 记录放入运动流和测试工具以确认它

我开发了一款软件,可以将记录写入 Amazon kinesis Stream Web 服务。我想了解我们是否有任何软件工具可以让我测量我的代码在一秒钟内为 Kinesis Stream 生成 1 个 Shard 的最大吞吐量。是的,我同意这也取决于硬件配置。但是对于开始我想知道通用机器然后可能我将能够看到水平可扩展性

有了这个,我试图达到每秒 25k 条记录写入 kinesis 流

参考:Kinesis http://aws.amazon.com/kinesis/

0 投票
1 回答
517 浏览

boto - 尝试从 boto.kinesis 连接到 AWS Kinesis;us-west-1 不起作用,但其他地区可以

boto用来连接到 ASW Kinesis。出于某种原因,与“us-west-2”和“us-east-1”的连接有效,但不适用于“us-west-1”:

凭据存储在~/.boto文件中。

有谁知道出了什么问题?

0 投票
1 回答
1372 浏览

amazon-web-services - AWS Kinesis 的低吞吐量

我使用 python 的boto.kinesis模块将记录写入AWS Kinesis。达到的最大吞吐量约为 40 次放置/秒。但是,根据Kinesis FAQ

每个分片每秒最多可支持 1000 条 PUT 记录。

所以我目前的方法只能达到理论上可能的 4%,这似乎非常低。

有谁知道如何提高吞吐量?

设置:Kinesis Stream 是一个带有一个分片的实例。生产者位于与 Kinesis Stream 相同区域的专用 AWS EC2 实例 (t3.medium) 上。它创建大约 20 个字符长度的字符串,并通过boto.kinesis.Connection.put_record("my_stream", my_message).

简化代码:

0 投票
2 回答
453 浏览

amazon-web-services - 亚马逊 Kinesis 与 EC2

抱歉这个愚蠢的问题,我是云开发的新手。我正在尝试在云中开发一个实时处理应用程序,它可以实时处理来自传感器的数据。数据流的数据速率非常低,每个传感器<50Kbps。可能同时运行<10 个传感器。

我很困惑,Amazon Kinesis 对这个应用程序有什么用。我可以直接使用 EC2 来接收我的流并进行处理。为什么我需要 Kinesis?