Ela*_*dor 7 raid apache-kafka spark-streaming sched-deadline
我们有 6 个具有 256GB RAM、24c/48T 的 kafka 代理,它们托管在 raid10 中配置的 20 个 1.8TB SAS 10K rpm 磁盘。
有两个火花流应用程序
有 21 个注入器实例以 6K 事件/秒的速率连续写入该主题。他们使用 librdkafka poroducer 来向 kafka 生成事件。
当流媒体应用程序醒来时,他们的第一份工作是阅读主题。一旦这样做,kafka 磁盘中的 %util 将在 30 秒到 60 秒内变为 90-100%,同时所有注入器实例都从它们的 kafka 生产者那里得到“队列已满”错误。这是生产者配置:
从该图中看不到,但是在 util% 高的时候,有一段时间写入为 0,我们假设在这些时间注入器的生产者的队列已满,因此抛出“队列已满”错误。
值得一提的是,我们在kafka机器中使用deadline IO调度器,它优先考虑读取操作。
关于如何释放写的压力,我们有几个想法:
我写这个问题是为了验证我们是否在正确的轨道上,并且由于 raid10、截止时间 IO 调度程序和同时读取过多,操作系统 hault 在读取期间确实写入。
你怎么看?
| 归档时间: |
|
| 查看次数: |
184 次 |
| 最近记录: |