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());
            });
        }
    }
}
相关推荐
纪元A梦13 分钟前
贪心算法应用:信用评分分箱问题详解
java·算法·贪心算法
007php00741 分钟前
Redis高级面试题解析:深入理解Redis的工作原理与优化策略
java·开发语言·redis·nginx·缓存·面试·职场和发展
Yeats_Liao1 小时前
Spring缓存(二):解决缓存雪崩、击穿、穿透问题
java·spring·缓存
学习中的阿陈1 小时前
Hadoop伪分布式环境配置
大数据·hadoop·分布式
猿究院-赵晨鹤1 小时前
String、StringBuffer 和 StringBuilder 的区别
java·开发语言
葵野寺1 小时前
【RelayMQ】基于 Java 实现轻量级消息队列(九)
java·开发语言·rabbitmq·java-rabbitmq
CesareCheung1 小时前
JMeter分布式压力测试
分布式·jmeter·压力测试
代码不停2 小时前
MySQL联合查询
java·数据库·mysql
nightunderblackcat2 小时前
新手向:C语言、Java、Python 的选择与未来指南
java·c语言·python
纯真时光2 小时前
Maven高级
java