事先必备:
zookeeper
安装过程:
##下载地址: https://www.apache.org/dyn/closer.cgi?path=/kafka/2.5.0/kafka_2.12-2.5.0.tgz ## 解压缩: tar -zxvf kafka_2.12-2.1.0.tgz -C /usr/local/ ## 重命名: mv kafka_2.12-2.1.0/ kafka_2.12 ## 进入解压后的目录,修改server.properties文件: vim /usr/local/kafka_2.12/config/server.properties ## 新增/修改配置: ##集群环境下唯一 broker.id=0 port=9092 host.name=192.168.11.51 advertised.host.name=192.168.11.51 log.dirs=/usr/local/kafka_2.12/kafka-logs ##一个topic对应的partition数量 num.partitions=2 zookeeper.connect=192.168.11.111:2181,192.168.11.112:2181,192.168.11.113:2181 ##保存退出: wq! ## 建立日志文件夹: mkdir /usr/local/kafka_2.12/kafka-logs ##启动kafka: /usr/local/kafka_2.12/bin/kafka-server-start.sh /usr/local/kafka_2.12/config/server.properties &
常用命令:
##创建topic kafka-topics.sh --zookeeper 192.168.11.111:2181 --create --topic topic1 --partitions 1 --replication-factor 1 ##--zookeeper zookeeper服务列表配置项,使用zk集群中任意节点即可 ##--create --topic 进行topic创建指令,创建的topic名称为topic1 ##--partitions 指定该topic下的partition数量 ##--replication-factor 指定该topic的副本数量 ##查看topic列表 kafka-topics.sh --zookeeper 192.168.11.111:2181 --list ##生产者向指定的topic发送数据 kafka-console-producer.sh --broker-list 192.168.11.51:9092 --topic topic1 ##消费者从指定的topic拉取数据 kafka-console-consumer.sh --bootstrap-server 192.168.11.51:9092 --topic topic1 --from-beginning ##--from-beginning 是拉取数据时采取的策略 ##删除指定topic kafka-topics.sh --zookeeper 192.168.11.111:2181 --delete --topic topic1 ##查看消费者组的消息消费进度 kafka-consumer-groups.sh --bootstrap-server 192.168.11.51:9092 --describe --group groupDemo GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID groupDemo firstTopic 1 3 3 0 - - - groupDemo firstTopic 0 3 3 0 - - - ##LAG表示当前堆积的消息数量。 ##CURRENT-OFFSET表示消费者已消费的消息的偏移量 ##LOG-END-OFFSET日志记录的消费者已消费的消息的偏移量