win10安装kafka,监听9092端口,java调用

1、从Kafka的官网下载Kafka安装包:Apache Kafka

我下的是2.8.0

对应pom.xml配置

复制代码
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>2.8.0</version>
</dependency>

2、下载后解压到C盘

修改路径,在解压后的config目录下(kafka_2.13-2.8.0\config),

①zookeeper.properties中修改zookeeper的路径:dataDir=C:/kafka/kafka_2.13-2.8.0/zookeeper

②server.properties中修改kafka的路径:log.dirs=C:/kafka/kafka_2.13-2.8.0/kafka-logs

3、启动测试:(在指定文件夹路径中写cmd就可以打开了)

①先启动zookeeper:C:/kafka/kafka_2.13-2.8.0 > bin\windows\zookeeper-server-start.bat config\zookeeper.properties

②再启动kafka:C:/kafka/kafka_2.13-2.8.0>bin\windows\kafka-server-start.bat config\server.properties

ps:若显示"此时不应有 \kafka_2.13-2.8.0\bin\windows\../../config/log4j.properties"的报错,说明路径中有空格,把文件放到别的位置就可以了。

4、查看端口9092是否打开

在命令行中输入netstat -an

5、java代码获取kafka信息

复制代码
public class consumer {
    public static void main(String[] args) {
        Properties props = new Properties();
        props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "IP地址:9092"); //kafka集群broker列表
        props.put(ConsumerConfig.GROUP_ID_CONFIG, "topic"); //指定topic
        props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer");
        props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer");

        Consumer<String, String> consumer = new KafkaConsumer<>(props);
        consumer.subscribe(Collections.singletonList("my-topic"));

        while (true) {
            ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));
            records.forEach(record -> {
                System.out.printf("Offset = %d, Key = %s, Value = %s%n", record.offset(), record.key(), record.value());
            });
        }
    }
}
相关推荐
beata2 小时前
Java基础-18:Java开发中的常用设计模式:深入解析与实战应用
java·后端
Seven973 小时前
剑指offer-81、⼆叉搜索树的最近公共祖先
java
雨中飘荡的记忆20 小时前
保证金系统入门到实战
java·后端
Nyarlathotep011321 小时前
Java内存模型
java
暮色妖娆丶1 天前
不过是吃了几年互联网红利罢了,我高估了自己
java·后端·面试
NE_STOP1 天前
MyBatis-参数处理与查询结果映射
java
狂奔小菜鸡1 天前
Day40 | Java中的ReadWriteLock读写锁
java·后端·java ee
SimonKing1 天前
JetBrains 用户狂喜!这个 AI 插件让 IDE 原地进化成「智能编码助手」
java·后端·程序员
茶杯梦轩1 天前
从零起步学习RabbitMQ || 第三章:RabbitMQ的生产者、Broker、消费者如何保证消息不丢失(可靠性)详解
分布式·后端·面试