![v2-8b7a251d6024ed427c59e425fa39424e_1440w.jpg?source=172ae18b](http://img-03.proxy.5ce.com/view/image?&type=2&guid=d1810889-352e-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-8b7a251d6024ed427c59e425fa39424e_1440w.jpg?source=172ae18b)
kafka应用场景
日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr等。 消息系统:解耦和生产者和消费者、缓存消息等。 用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘。 运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。 流式处理:比如spark streaming和storm,比如电商交易实时大屏。
windows版实践
Step 1: 安装
- 下载
- 解压,windows下使用cmder命令行工具可以使用linux下的命令
tar -xzf kafka_2.11-2.4.1.tgz
cd kafka_2.11-2.4.1 - 修改配置
./config/server.properties
#修改log.dirs=D:Projectskafka_2.11-2.4.1logs
#修改broker.id=0
Step 2: 启动服务器
- 启动zookeeper
#我这里因为已经有了zookeeper服务,所以使用了zookeeper自带的启动命令 - 启动kafka
.binwindowskafka-server-start.bat .configserver.properties - 查看topic
.binwindowskafka-topics.bat --list --zookeeper localhost:2181
# 如果没有,则什么都不显示
Step 3: 创建一个 topic
让我们创建一个名为“test”的topic,它有一个分区和一个副本:
> .binwindowskafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
现在我们可以运行list(列表)命令来查看这个topic:
> .binwindowskafka-topics.bat --list --zookeeper localhost:2181
# 这时会显示test
Step 4: 发送一些消息
Kafka自带一个命令行客户端,它从文件或标准输入中获取输入,并将其作为message(消息)发送到Kafka集群。默认情况下,每行将作为单独的message发送。
运行 producer,然后在控制台输入一些消息以发送到服务器。
> .binwindowskafka-console-producer.bat --broker-list localhost:9092 --topic test
This is a message
This is another message
Step 5: 启动一个 consumer
Kafka 还有一个命令行consumer(消费者),将消息转储到标准输出。
> .binwindowskafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
# 这里获取到2条消息
This is a message
This is another message
如果您将上述命令在不同的终端中运行,那么现在就可以将消息输入到生产者终端中,并将它们在消费终端中显示出来。效果如图:
![v2-97ec025c0bab1e98db5f75635fe927c6_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=d1810889-352e-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-97ec025c0bab1e98db5f75635fe927c6_b.jpg)