编程启动zookeeper和kafka broker

本文介绍了一种快速启动Kafka和Zookeeper的方法,通过使用Java main函数直接启动,避免了标准部署流程的繁琐。文章提供了必要的Maven依赖配置,包括Dropwizard Metrics、Kafka和Zookeeper的版本信息,并分享了Zookeeper和Kafka Broker的启动类代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了学习或者快速测试,走标准的部署流程用命令行启动太慢,可以直接用java main函数启动

maven 依赖 

        <!-- https://mvnrepository.com/artifact/io.dropwizard.metrics/metrics-core -->
        <dependency>
            <groupId>io.dropwizard.metrics</groupId>
            <artifactId>metrics-core</artifactId>
            <version>4.1.9</version>
        </dependency>


        <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka -->
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka_2.13</artifactId>
            <version>2.5.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients -->
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
            <version>2.5.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.6.1</version>
        </dependency>

 

配置文件下载链接

zookeeper.properties

server.properties

 

zookeeper启动类(必须先运行)

 

public class ZooKeeperMain {

    @SneakyThrows
    public static void main(String[] args) {

        QuorumPeerConfig config = new QuorumPeerConfig();
        InputStream is = ZooKeeperMain.class.getResourceAsStream("/zookeeper.properties");
        Properties p = new Properties();
        p.load(is);
        config.parseProperties(p);
        ServerConfig serverconfig = new ServerConfig();
        serverconfig.readFrom(config);
        new ZooKeeperServerMain().runFromConfig(serverconfig);
    }
}

kafkabroker启动类(必须在ZookeeperMain之后运行)

public class KafkaBrokerMain {

    @SneakyThrows
    public static void main(String[] args) {
        InputStream is = KafkaBrokerMain.class.getResourceAsStream("/server.properties");
        Properties p = new Properties();
        p.load(is);
        is.close();
        KafkaServerStartable kafkaServerStartable = KafkaServerStartable.fromProps(p);
        kafkaServerStartable.startup();
        kafkaServerStartable.awaitShutdown();
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值