本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
此表提供了使用 Amazon Kinesis 代理时所遇到常见问题的问题排查信息和解决方案。
事务 | 解决方案 |
---|---|
为什么 Kinesis 代理无法在 Windows 上运行? |
适用于 Windows 的 Kinesis 代理与适用于 Linux 平台的 Kinesis 代理是不同的软件。 |
为什么 Kinesis 代理速度变慢且/或 RecordSendErrors 增加? |
这通常是由于 Kinesis 节流造成的。查看 Kinesis Data Streams 的 排除节流后,查看 Kinesis 代理是否配置为跟踪大量小文件。Kinesis 代理跟踪新文件时会有延迟,因此 Kinesis 代理应跟踪少量大文件。尝试将您的日志文件合并为大文件。 |
如何解决 java.lang.OutOfMemoryError 异常? |
当 Kinesis 代理没有足够的内存来处理当前的工作负载时会发生此情况。尝试增加 /usr/bin/start-aws-kinesis-agent 中的 JAVA_START_HEAP 和 JAVA_MAX_HEAP ,并重新启动代理。 |
如何解决 IllegalStateException : connection pool shut
down 异常? |
Kinesis 代理没有足够的连接来处理当前的工作负载。尝试在 /etc/aws-kinesis/agent.json 的常规代理配置设置中增加 maxConnections 和 maxSendingThreads 。这些字段的默认值是可用运行时系统处理器的 12 倍。有关高级代理配置设置的更多信息,请参见 AgentConfiguration.java |
如何调试 Kinesis 代理的其他问题? | 可在 /etc/aws-kinesis/log4j.xml 中启用 DEBUG 级别日志。 |
我应该如何配置 Kinesis 代理? | maxBufferSizeBytes 越小,Kinesis 代理发送数据的频率就越高。这可能是好事,因为这减少了记录的传输时间,但也增加了每秒对 Kinesis 的请求。 |
为什么 Kinesis 代理会发送重复记录? | 这是由于文件跟踪中的错误配置造成的。确保每个 fileFlow’s filePattern 只匹配一个文件。如果正在使用的 logrotate 模式处于 copytruncate 模式,也可能发生这种情况。尝试将模式更改为默认模式或创建模式以避免重复。有关处理重复记录的更多信息,请参阅处理重复记录。 |