kafka安装与配置
- 官网下载安装解压缩:http://kafka.apache.org/downloads
- 下载解压启动
启动命令:bin/kafka-server-start.sh -daemon config/server.properties
server.properties配置中需要关注以下几个参数:
broker.id=0 表示broker的编号,如果集群中有多个broker,则每个broker的编号需要设置
的不同
listeners=PLAINTEXT://:9092 brokder对外提供的服务入口地址
log.dirs=/tmp/kafka/log 设置存放消息日志文件的地址
zookeeper.connect=localhost:2181 Kafka所需Zookeeper集群地址,教学中Zookeeper和
Kafka都安装本机
Kafka测试消息生产与消费
bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic heima --partitions 2 --replication-factor 1
--zookeeper:指定了Kafka所连接的Zookeeper服务地址
--topic:指定了所要创建主题的名称
--partitions:指定了分区个数
--replication-factor:指定了副本因子
--create:创建主题的动作指令
- 报错
- 解决
解决方案: 在较新版本(2.2 及更高版本)的 Kafka 不再需要 ZooKeeper 连接字符串,即- -zookeeper localhost:2181。使用 Kafka Broker的 --bootstrap-server localhost:9092来替代- -zookeeper localhost:2181。
bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic heima --partitions 2 --replication-factor 1
- 展示所有主题
bin/kafka-topics.sh --bootstrap-server localhost:9092 --list - 查看主题详情
bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic heima - 启动消费端接收消息
命令:bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic heima
–bootstrap-server 指定了连接Kafka集群的地址 –topic 指定了消费端订阅的主题
itcast@Server-node:/mnt/d/kafka_2.12-2.2.1$ bin/kafka-console-consumer.sh -- bootstrap-server localhost:9092 --topic heima Hello,Kafka!
- 生产端发送消息
命令:bin/kafka-console-producer.sh --broker-list localhost:9092 --topic heima
–broker-list 指定了连接的Kafka集群的地址 –topic 指定了发送消息时的主题
itcast@Server-node:/mnt/d/kafka_2.12-2.2.1$ bin/kafka-console-producer.sh -- broker-list localhost:9092 --topic heima >Hello,Kafka!
|