1.下载kafka_2.11-1.0.0.tgz
http://kafka.apache.org/downloads
解压
tar -zxvf kafka_2.11-2.3.0.tgz cd kafka_2.11-2.3.0 |
2.启动服务器
需要先启动ZooKeeper,kafka内置提供了一个ZooKeeper服务器以及一组相关的管理脚本,使用内置的ZooKeeper即可:
bin/zookeeper-server-start.sh config/zookeeper.properties |
出现INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)表示ZooKeeper已经成功地在端口2181上启动了。
启动Kafka服务器:
需要在/config/server.properties上添加,不添加也可以:
advertised.host.name=localhost |
再执行kafka启动命令:
bin/kafka-server-start.sh config/server.properties |
控制台输出INFO [KafkaServer id=0] started (kafka.server.KafkaServer)表示Kafka服务器启动成功,默认端口是9092.
3.创建topic
创建一个topic用于消息的发送与接收。
该topic名字是test,只有一个分区partition,也只有一个副本replica。
bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic test --partitions 1 --replication-factor 1 |
查看该topic的状态:
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test |
4.发送消息
kafka默认提供了脚本工具可以不断地接受标准输入并将它们发送到kafka的某个topic上。
启动命令后,输入一行文本数据,脚本将该文本封装成一条kafka消息发送给指定的topic。
每当按下回车键后该行文本即会被发送,若一段时间(默认是30秒)没有出现任何错误,表明消息发送成功。
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test |
ctrl+c退出文本输入控制台。
5.消费消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning |