首页 > 解决方案 > 连接消费者后未在 dynamo-db 中创建 KCL 租用表

问题描述

我们新创建了 kinesis 流,在尝试通过 Java 中的 KCL 连接时会导致以下错误,并且该流可用于动态放置记录。

java.lang.RuntimeException:com.amazonaws.services.kinesis.clientlibrary.exceptions.internal.KinesisClientLibIOException:碎片 [shardId-000000000000] 未关闭。如果我们在重新分片操作正在进行时构建分片列表,就会发生这种情况。

基于文档

它说工作人员将创建 while 并使用描述流来创建租约记录和表。

因此尝试了 aws kinesis describe-stream --stream-name name-of-the-stream 并产生

{
    "StreamDescription": {
        "Shards": [
            {
                "ShardId": "shardId-000000000000",
                "HashKeyRange": {
                    "StartingHashKey": "0",
                    "EndingHashKey": "340282366920938463463374607431768211455"
                },
                "SequenceNumberRange": {
                    "StartingSequenceNumber": "49603537352759079517281897546367071275105924397167280130"
                }
            }
        ],
        "StreamARN": "arn:aws:kinesis:us-west-2****",
        "StreamName": "***",
        "StreamStatus": "ACTIVE",
        "RetentionPeriodHours": 24,
        "EnhancedMonitoring": [
            {
                "ShardLevelMetrics": []
            }
        ],
        "EncryptionType": "NONE",
        "KeyId": null,
        "StreamCreationTimestamp": 1579767966.0
    }
}

但是,同一区域下的 dynamo DB 中的租约表缺失。任何建议都会有所帮助。

提前致谢。

标签: javaamazon-dynamodbshardingamazon-kinesisamazon-kcl

解决方案


推荐阅读