apache Kafka是一个流行的分布式消息代理,旨在有效地处理大量的实时数据。Kafka集群不仅具有高度的可伸缩性和容错能力,而且与ActiveMQ和RabbitMQ等其他消息代理相比,它还具有更高的吞吐量。尽管它通常用作发布/订阅消息传递系统,但许多组织也将其用于日志聚合,因为它为发布的消息提供了持久存储。发布/订阅消息传递系统允许一个或多个生产者发布消息,而无需考虑使用者的数量或他们将如何处理消息。订阅的客户端会自动收到更新和创建新消息的通知。与客户端定期轮询以确定是否有新消息可用的系统相比,此系统更高效、可伸缩。

1、安装配置jdk环境(此处省略,详见http://t.csdn.cn/rTGGX)。

2、下载kafka二进制安装包

下载完成后,将压缩包解压至/opt目录下并将文件夹重命名为kafka

tar zxvf kafka_2.12-3.2.1.tgz -C /opt
mv /opt/kafka_2.12-3.2.1 /opt/kafka

 3、启动zookeeper,由于kafka依赖于ZooKeeper,所以需要先启动一个ZooKeeper服务器。如果系统没有安装,可以使用随kafka一起打包的便捷脚本来获取一个快速但是比较粗糙的单节点ZooKeeper实例。

        ZooKeeper配置文件位于解压后文件夹内的config目录(zookeeper.properties),默认端口2181,如下图所示启动zookeeper

启动完成后,可使用命令:ps  -ef  |grep   zookeeper 查看进程 

 4、启动kafka,如下图所示与启动zookeeper一样采用启动脚本启动,启动完成后可用命令查看进程状态

 5、测试kafka

创建 topic

./bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

查看topic

./bin/kafka-topics.sh --list --bootstrap-server localhost:9092   ## 返回上面创建的 test

查看描述topic 信息

./bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic test

启动生产者(保留该窗口,别关闭)

./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

启动消费者

./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

在生产者窗口输入内容,消费者窗口可查看到输入的内容

 

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐