知乎专栏 |
有两种方式启动 kafka, 一种是命令行,另一种是通过 Java 程序,命令行方式请参考《Netkiller Linux 手札》,这里只介绍如何使用 Java 程序启动 Kafka。
首先启动 Zookeeper
QuorumPeerConfig config = new QuorumPeerConfig(); InputStream inputStream = KafkaTest.class.getResourceAsStream("/srv/kafka/config/zookeeper.properties"); Properties properties = new Properties(); properties.load(inputStream); inputStream.close(); config.parseProperties(properties); ServerConfig serverConfig = new ServerConfig(); serverConfig.readFrom(config); new ZooKeeperServerMain().runFromConfig(serverConfig);
然后启动 Kafka
InputStream inputStream = KafkaTest.class.getResourceAsStream("/srv/kafka/config/server.properties"); Properties properties = new Properties(); properties.load(is); inputStream.close(); KafkaServerStartable kafkaServerStartable = KafkaServerStartable.fromProps(properties); kafkaServerStartable.startup(); kafkaServerStartable.awaitShutdown();