apache-kafka - Kafka 巡航控制 - NumValidWindows: (0/0) (NaN%), NumValidPartitions: 0/844 (0.000%)
问题描述
需要一些帮助来解决使用带有 3 个代理的 kafka 集群设置 kafka 巡航控制的问题。
我试图设置巡航控制本地主机(本地运行 kafka 代理和巡航控制)并成功:
MonitorState: {state: RUNNING(1.000% trained), NumValidWindows: (1/1) (100.000%), NumValidPartitions: 138/138 (100.000%), flawedPartitions: 0}...}
但问题是,当我开始设置 3 个代理 Kafka 1.1 集群时,我没有看到任何进展:
{MonitorState: {**state: RUNNING(0.000% trained), NumValidWindows: (0/0) (NaN%), NumValidPartitions: 0/844 (0.000%)**, flawedPartitions: 0}, ExecutorState: {state: NO_TASK_IN_PROGRESS, finished/total leadership movements: 0/0}, AnalyzerState: {isProposalReady: false, ReadyGoals: []}}
如果我在这里缺少任何配置,可以请一些人帮忙吗?在 CC 日志中,我看到:
[2018-05-23 15:27:51,733] INFO Collected 0 partition metric samples for 0 partitions. Total partition assigned: 844. (com.linkedin.kafka.cruisecontrol.monitor.sampling.SamplingFetcher)
[2018-05-23 15:27:51,733] INFO Collected 0 broker metric samples for 0 brokers. (com.linkedin.kafka.cruisecontrol.monitor.sampling.SamplingFetcher)
[2018-05-23 15:27:51,733] INFO Finished sampling in 5147 ms. (com.linkedin.kafka.cruisecontrol.monitor.sampling.MetricFetcherManager)
[2018-05-23 15:27:53,437] INFO Skipping best proposal precomputing because load monitor does not have enough snapshots. (com.linkedin.kafka.cruisecontrol.analyzer.GoalOptimizer)
[2018-05-23 15:28:23,438] INFO Skipping best proposal precomputing because load monitor does not have enough snapshots. (com.linkedin.kafka.cruisecontrol.analyzer.GoalOptimizer)
[2018-05-23 15:28:53,438] INFO Skipping best proposal precomputing because load monitor does not have enough snapshots. (com.linkedin.kafka.cruisecontrol.analyzer.GoalOptimizer)
[2018-05-23 15:29:23,438] INFO Skipping best proposal precomputing because load monitor does not have enough snapshots. (com.linkedin.kafka.cruisecontrol.analyzer.GoalOptimizer)
任何提示表示赞赏。
解决方案
终于找到了根本原因。这是配置修复。我已将以下配置添加到 Kafka 服务器中:
server.properties:cruise.control.metrics.reporter.bootstrap.servers=0.0.0.0:9092
那做了魔术:
{MonitorState: {state: RUNNING(20.000% trained), NumValidWindows: (1/1) (100.000%), NumValidPartitions: 124/124 (100.000%), flawedPartitions: 0}, ExecutorState: {state: NO_TASK_IN_PROGRESS, finished/total leadership movements: 0/0}, AnalyzerState: {isProposalReady: true, ReadyGoals: [NetworkInboundUsageDistributionGoal, CpuUsageDistributionGoal, PotentialNwOutGoal, NetworkInboundCapacityGoal, LeaderBytesInDistributionGoal, DiskCapacityGoal, ReplicaDistributionGoal, RackAwareGoal, TopicReplicaDistributionGoal, NetworkOutboundCapacityGoal, CpuCapacityGoal, DiskUsageDistributionGoal, NetworkOutboundUsageDistributionGoal, ReplicaCapacityGoal]}}
原因:这是由于 kafka 运行在主机 IP 而不是 localhost 上,上面的配置有助于修复它
推荐阅读
- flutter - 如何在 Flutter 中处理不同屏幕尺寸上的定位元素(在堆栈中)?
- php - 查询 PDO 绑定未在日期时间返回
- javascript - 根据表单提交检查 cookie
- rust - 当您调用标准库的通道 recv 或 try_recv 方法时,Tokio 的 run_queue 会发生什么?
- python - Python Requests_html:给我超时错误
- javascript - 在 browser.call() 方法中失败的期望不会失败测试
- powerbi - 如何在 DAX 公式中引用前一个过滤行中的值?
- rcpp - 访问列表列表中的元素 (Rccp)
- vue.js - 特定 node_module 的 Webpack 别名“@”
- java - 将xml转换为json时如何区分字符串“null”和null值?