有关 Event Streams 的常见问题解答
本文档包含有关 IBM® Event Streams for IBM Cloud® 服务用户常见疑问或问题的信息。 本文档旨在回答问题或提供有关如何解决问题的指示信息,而无需提交支持凭单。
如何使用 Kafka API 来创建和删除主题?
如果使用的是 0.11 或更高版本的 Kafka 客户机,或者 0.10.2.0 或更高版本的 Kafka Streams,那么可以使用 API 来创建和删除主题。 我们已经对创建主题时允许使用的设置施加了一些限制。 当前,只能修改以下设置:
- cleanup.policy
-
设置为
delete
(默认)、compact
或delete,compact
- retention.ms
-
缺省保留期为 24 小时。 最小值为 1 小时,最大值为 30 天。 请将此值指定为小时的倍数。
注: 在“企业”计划中,您可以将此值设置为任意值。
- retention.bytes
-
我们废弃旧的日志段以释放空间之前,分区(由日志段构成)可以增长到的最大大小。
注: Enterprise: 设置为 100 KiB 到 2 TiB之间的任何值。 标准: 设置为 100 KiB 到 1 GiB之间的任何值。
- segment.bytes
-
日志的段文件大小。
注: Enterprise: 设置为 100 KiB 到 2 TiB之间的任何值。 标准: 设置为 100 KiB 到 512 MiB之间的任何值。
- segment.index.bytes
-
将偏移量映射到文件位置的索引的大小。
注: Enterprise: 设置为 100 KiB 到 1 TiB之间的任何值。 标准: 设置为 100 KiB 到 100 MiB之间的任何值。
- segment.ms
-
一个时间段,在此时间段之后,即使段文件未满,Kafka 也将强制日志滚动。
注: 可设置为5分钟到30天之间的任意值。
请参阅以下缺省值设置示例。
Details for topic testit
Topic name Internal? Partition count Replication factor
testit false 1 3
Partition details for topic testit
Partition ID Leader Replicas In-sync
0 1 [1 5 0] [1 5 0]
Configuration parameters for topic testit
Name Value
cleanup.policy delete
min.insync.replicas 2
segment.bytes 536870912
retention.ms 86400000
segment.ms 604800000
retention.bytes 1073741824
segment.index.bytes 10485760
Event Streams 为使用者偏移量主题设置保留时间窗口需要多长时间?
Event Streams 保留使用者偏移量 7 天。 这对应于 Kafka 配置 offsets.retention.minutes。
偏移量保留时间适用于整个系统范围,所以不能在单个主题级别对其进行设置。 所有使用者组都只能获得 7 天的存储偏移量,即便所使用主题的日志保留时间已经增大到最长 30 天也是如此。
在企业套餐上,内部 Kafka __consumer_offsets
主题以只读方式显示。 强烈建议您不要尝试以任何方式管理主题。 在标准套餐上没有任何办法可访问 __consumer_offsets
主题。
如何清除没有使用者的使用者组?
使用者离开后,仅当组具有偏移量时,该组才会继续存在。 使用者偏移量在处于不活动状态 7 天后会被删除。 因此,使用者组的最后一个落实偏移量到期时,将删除该组。
如果您想一次性明确删除某个群组,可以使用 deleteConsumerGroups( )API 或 ibmcloud es group-delete命令。
消息保留多久?
缺省情况下,消息在 Kafka 中最多保留 24 小时,并且每个分区的上限是 1 GB。 如果达到 1 GB 上限,那么将废弃最旧的消息以防超出限制。
使用用户界面或管理 API 创建主题时,可以更改消息保留时间的限制。 时间限制最短为 1 小时,最长为 30 天。
有关使用 Kafka 客户机或 Kafka Streams 创建主题时所允许设置的限制的信息,请参阅如何使用 Kafka API 创建和删除主题?
Event Streams 的可用性行为如何?
编写 Event Streams 应用程序时,请使用此信息来了解正常的 Event Streams 可用性行为以及您预期应用程序处理的内容。
API
作为 Event Streams 日常操作的一部分,Kafka 集群的节点有时会重新启动。 在某些情况下,应用程序将识别到集群重新分配了资源。 编写应用程序时,使其能够迅速从这些更改中恢复,能够重新连接并重试操作。
Event Streams 的最大消息大小是多少?
Event Streams 的最大消息大小为 1 MB,这是 Kafka 的缺省值。
Event Streams 的复制设置是什么?
Event Streams 配置为提供强大的可用性和耐用性。 以下配置设置适用于所有主题且不能更改:
- replication.factor = 3
- min.insync.replicas = 2
对于主题和分区,其限制和缺省值是什么?
- 话题名称最多只能包含200个字符。
- 一个主题的缺省分区数为一个。
- 每个 IBM Cloud 空间的分区数限制为 100 个。 要创建更多的分区,必须使用新的 IBM Cloud 空间。
如何检查已供应哪个 Event Streams 套餐?
请完成以下步骤,确认您已预定的 Event Streams 计划类型(精简版、标准版或企业版):
- 在 IBM Cloud 控制台中,导航至要检查的 Event Streams 实例。
- 单击左侧导航窗格中的套餐选项卡。 当前套餐部分会显示您的套餐类型。
可以使用 Event Streams 控制台来更改 IBM Cloud 套餐吗?
可以,但仅限于从轻量套餐移至标准套餐。
-
在 IBM Cloud 控制台中,导航至要更改的 Event Streams 轻量套餐实例。
-
单击左侧导航窗格中的套餐选项卡。
-
在更改价格套餐部分中,选中标准框。 单击升级。
稍等几分钟,以便清除轻量套餐的 1 个分区的高速缓存限制,随后就可以利用标准套餐的 100 个分区的限制。
但是,此选项目前在 IBM Cloud 控制台中不适用于其他任何套餐组合。 例如,如果尝试其他套餐组合,您将看到类似如下的错误消息:
Could not find VCAP::CloudController::ServicePlan with guid: ibm.eventstreams.standard
Event Streams 标准套餐与 Event Streams 企业套餐有何不同?
要了解有关不同 Event Streams 套餐的更多信息,请参阅选择套餐。
我要如何处理灾难恢复?
目前,用户负责管理自己的 Event Streams 灾难恢复。可以在一个位置 (区域) 中的 Event Streams 实例与另一个位置中的另一个实例之间复制 Event Streams 数据。 但是,用户需要负责供应远程 Event Streams 实例和管理复制。
我们建议使用 Kafka MirrorMaker 等工具在集群之间复制数据。 有关如何运行 MirrorMaker, 的信息,请参阅 Event Streams kafka-mirrormaker 存储库。 有关恢复过程的示例,请参阅 在灾难恢复方案中使用镜像。
用户还需要负责备份消息有效内容数据。 此数据在集群内多个 Kafka 代理程序之间复制,避免了大多数故障造成的影响,但这种复制不能补救整个位置的故障。 建议用户备份主题名称和这些主题的配置数据。
如果您已在多专区区域中配置了 Event Streams 实例,那么发生区域灾难的可能性非常低。 但是,我们还是建议用户对此类情况进行规划。 如果用户的实例由于灾难而不再可用(并且远程 DR 实例尚未设置),那么用户应该考虑在新区域中配置新实例,并从备份(如果可用)复原其主题和数据。 然后,可以将应用程序指向新实例。