无法在DCOS上安装Kafka

Unable to install Kafka on DCOS

在没有任何自定义配置的情况下在 DCOS 上安装 Kafka 会产生以下日志

集群配置为:

8个私有节点, 2 Public 个节点

总共 24 个内核, 共 320 GB Ram

所有资源都是免费的。

StdErr 输出:

log4j:WARN No appenders could be found for logger (org.jboss.logging).  
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" java.lang.NullPointerException
at com.mesosphere.dcos.kafka.plan.KafkaUpdateBlock.initializeStatus(KafkaUpdateBlock.java:196)
at com.mesosphere.dcos.kafka.plan.KafkaUpdateBlock.<init>(KafkaUpdateBlock.java:50)
at com.mesosphere.dcos.kafka.plan.KafkaUpdatePhase.createBlocks(KafkaUpdatePhase.java:83)
at com.mesosphere.dcos.kafka.plan.KafkaUpdatePhase.<init>(KafkaUpdatePhase.java:27)
at com.mesosphere.dcos.kafka.scheduler.KafkaScheduler.<init>(KafkaScheduler.java:125)
at com.mesosphere.dcos.kafka.scheduler.Main.run(Main.java:70)
at com.mesosphere.dcos.kafka.scheduler.Main.run(Main.java:21)
at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:40)
at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:77)
at io.dropwizard.cli.Cli.run(Cli.java:70)
at io.dropwizard.Application.run(Application.java:80)
at com.mesosphere.dcos.kafka.scheduler.Main.main(Main.java:27)

标准输出:

ERROR com.mesosphere.dcos.kafka.scheduler.KafkaScheduler: Got 1 errors from new config. Falling back to last valid config.
INFO com.mesosphere.dcos.kafka.plan.KafkaUpdateBlock: Setting initial status for: broker-0
INFO com.mesosphere.dcos.kafka.plan.KafkaUpdateBlock: TargetConfigName: 67004a73-e9a0-4bf6-8e01-9eb52a674c1a currentConfigName: null
Command exited with status 1 (pid: 10171)

按照此处的说明解决了问题:https://docs.mesosphere.com/1.8/usage/service-guides/kafka/uninstall

要全新安装 Kafka 包,我们首先需要清理 它以前的状态来自 Zookeeper。仅从 GUI 或 CLI 卸载它是行不通的,卸载后从 zookeeper 清除以前的状态,然后重新安装。