问题标签 [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.
node.js - 在使用 Kinesis MultiLangDaemon/KCL 时调试 nodejs
在这篇文章之后,我能够将我们现有的 nodejs 代码连接到 Kinesis 日志(使用 KCL 和 MultiLangDaemon)。
问题是我不能再调试代码了。由于 MultiLangDaemon 使用 STDIN/STDOUT 与执行的“脚本”交互,一旦我调用“node --debug”并得到消息:
“调试器侦听端口 57846”
我从 MultiLangDaemon 收到错误消息:
“严重:从子进程 [调试器侦听端口 57846] 接收到分片 shardId-000000000000 的错误行”
- 有没有办法“安静地”执行nodejs,所以它不会发送这个STDERR消息?
- 有没有人有 MultiLangDaemon 和调试的经验?
谢谢,舒舒
spark-streaming - 父分片存在但子分片不存在
我正在使用 Kinesis 设置 Spark Streaming 项目,当我尝试连接到我的 Kinesis 流时,我从 Spark 收到以下错误:
当我将测试数据发布到此流或使用基本 Amazon 库从流中读取数据时,我没有收到任何错误,这仅在我尝试连接 Spark 时发生。
以下是我用于测试的代码:
multithreading - 在一个核心内的 Spark worker 上启动多个处理器线程
我们的情况是:将 Spark 流与 AWS Kinesis 结合使用。
如果将 Spark master 指定为“ local[32] ”,则 Spark 可以相当快地使用来自 Kinesis 的数据。
但是如果我们切换到一个有 1 个 master 和 3 个 worker 的集群(在 4 台不同的机器上),并将 master 设置为“ spark://[IP]:[port] ”,那么 Spark 集群消耗数据的速度非常慢速度。该集群有 3 台工作机器,每台工作机器有 1 个核心。
我正在尝试加快消耗速度,因此我在每台工作机器上添加了更多执行程序,但这并没有太大帮助,因为每个执行程序至少需要 1 个核心(而我的工作机器只有 1 个核心)。我还阅读了添加更多Kinesis分片数将有助于扩大规模,但我只想最大化我的读取容量。
由于“内存中”模式可以足够快地消耗,是否也可以在每台工作机器上启动多个“Kinesis 记录处理器线程”,如下图所示?或者在 1 个内核中启动多个线程以从 Kinesis 消耗?
非常感谢。
下图来自https://spark.apache.org/docs/1.2.0/streaming-kinesis-integration.html
java - 使用大量连接时 Kinesis 出错
我正在使用 Kinesis 存储从安装在 EC2 服务器上的 Jmeter 发送的记录。问题是当我启动 7200 个线程并在我的 Kinesis 流上使用 1 个共享时,一切正常。如果我启动 9000 个线程,我会收到此错误
所以我增加了分片的数量,将其设置为 2 和 3,但它不起作用。所以我认为问题不在于分片号,而在于我的 java 代码,或者我不知道还有什么。这是我的代码:
有使用更多分片的说明吗?提前致谢
javascript - 以安全的方式从客户端 JavaScript 使用 Amazon Kinesis
我想使用 Amazon JavaScript SDK 将数据从我的网页(使用 JavaScript)发送到 Amazon Kinesis。如果我打开这个功能,有没有办法阻止世界上的每个人都向我发送垃圾数据?
java - AWS SDK for Java 从 Kinesis 检索的记录较少
我正在使用 Java 从 Kinesis 接收记录,然后我必须将这些记录放入 DynamoDB。问题是我没有收到同一个 java 实例中的所有记录。例如,我发送了 72000 条记录,但在同一次执行中我只收到了 71863 条记录,如果我重新启动我的应用程序,我会收到其他记录,但比我丢失的要多。这是我的课,我使用 totalRecord 变量来计算记录。我的 Kinesis 流有 3 个分片
其他类
有人有我同样的问题吗?有没有可能的解决方案?
java - 通过 Java 代码将多个项目放入 DynamoDB
我想使用 SDK Amazon 的 batchWriteItem 方法将很多项目放入表中。我从 Kinesis 中检索了这些项目,它有很多碎片。我将此方法用于一项:
该项目来自:
现在,如果我想放很多记录,我将使用:
但我怎样才能发送最后一组?因为我只在有 25 件商品时才发送,但最后数量较少。
java - 从 Amazon Kinesis 到 DynamoDB 的数据
我必须将我的数据从 Kinesis 传递到 DynamoDB。问题是当我的软件运行时并非所有数据都到达。所以当我重新启动我的应用程序时,很多记录都会添加到 DynamoDB 中。现在我不知道为什么记录没有在运行时间内全部到达,但这是一个大问题。资源的监控很好,我尝试了 InitialPositionInStream.LATEST 和 InitialPositionInStream.TRIM_HORIZON 没有任何改变。它发生在某人身上吗?有解决办法吗?似乎有一个保存记录的缓冲区。我使用了aws的git代码。可能是网络问题?
java - 如何缓存通过 REST JERSEY 与数据库建立的初始连接
我有一种情况,我会在我的REST
服务器上连续接收 JSON 对象。然后我会将对象放入AWS Kinesis
流中。我会在将对象放入其中时初始化与运动流的连接。这个初始化发生在每个对象上,这是一个重载。我想将与 kinesis 的连接缓存一段时间。我查看REST HTTP Caching
了对象中将被缓存的位置,但没有查看连接。任何方式来完成这件事。
amazon-web-services - 在 Amazon Kinesis 中读取和写入事务
我是 Kinesis 的新手,所以这似乎是一个非常基本的问题,但我无法找到明确的答案来解释 Kinesis 流中的读写事务之间的实际区别。
Amazon Kinesis Limits的相关部分:
- GetShardIterator 可以为每个打开的分片每秒提供多达 5 个事务。
- GetRecords 可以检索 10 MB 的数据。
- 每个分片每秒最多可支持 5 个事务进行读取,最大总数据读取速率为每秒 2 MB。
- 每个分片每秒最多可支持 1024 条记录进行写入,最高总数据写入速率为每秒 1 MB(包括分区键)。此写入限制适用于 PutRecord 和 PutRecords 等操作。
它清楚地提到了每个分片每秒 5 次读取和 1024 次写入。为什么读取比写入昂贵得多,或者这里有一个我没有掌握的关键 Kinesis 概念?