目录
Kafka系列:
kafka管理监控系统 CMAK(yahoo的kafka-manager)部署及使用
下载
下载地址:http://kafka.apache.org/downloads
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.6.0/kafka_2.12-2.6.0.tgz
v2.6.0版本
依赖JDK和Zookeeper环境已提前安装,如需安装zookeeper请参考:Zookeeper系列(三)、zk集群安装部署
安装
又拿出了我的三台渣机器:wyk01,wyk02,wyk03
1. wyk01:解压下载的安装包
tar -zxvf kafka_2.12-2.6.0.tgz -C /opt/app/
2. wyk01:修改配置文件
cd /opt/app/kafka_2.12-2.6.0
vim config/server.properties
--------------------------------------
#修改下面的内容
#kafka节点id
broker.id=1
#删除topic时,是否物理删除,否则只是逻辑删除
delete.topic.enable=true
#实际存放topic数据的目录,默认kafka的日志存放在kafka/logs下,这里数据和日志最好分开存放
log.dirs=/opt/app/kafka_2.12-2.6.0/data
#指定我们准备好的zk集群
zookeeper.connect=wyk01:2181,wyk02:2181,wyk03:2181
3. wyk01:分发kafka目录到wyk02和wyk03上
scp -r /opt/app/kafka_2.12-2.6.0 root@wyk02:/opt/app/
scp -r /opt/app/kafka_2.12-2.6.0 root@wyk03:/opt/app/
4. wyk02 & wyk03:修改配置文件中的节点ID
cd /opt/app/kafka_2.12-2.6.0
vim config/server.properties
#修改下面的内容,broker.id为整型且不能有重复
--------------------------------------
#wyk02
broker.id=2
--------------------------------------
#wyk03
broker.id=3
5. wyk01 & wyk02 & wyk03:分别启动kafka服务
/opt/app/kafka_2.12-2.6.0/bin/kafka-server-start.sh -daemon /opt/app/kafka_2.12-2.6.0/config/server.properties
查看启动状态:
简单使用
---------------------与zk交互-----------------------
#查看topic列表
bin/kafka-topics.sh --zookeeper wyk01:2181 --list
#创建topic
bin/kafka-topics.sh --zookeeper wyk01:2181 --create --topic csdn_wyk --partitions 3 --replication-factor 3
# topic:定义topic的名称
# partitions:分区数量
# replication-factor:副本数量
#删除topic,当配置delete.topic.enable=true时是物理删除,否则为逻辑删除
bin/kafka-topics.sh --zookeeper wyk01:2181 --delete --topic csdn_wyk
#查看topic详细信息
bin/kafka-topics.sh --zookeeper wyk01:2181 --describe --topic csdn_wyk
#修改topic的分区数
bin/kafka-topics.sh --zookeeper wyk01:2181 --alter --topic csdn_wyk --partitions 4
---------------------与broker交互-----------------------
#启动一个生产者
bin/kafka-console-producer.sh --topic csdn_wyk --broker-list wyk01:9092
---------------------与bootstrap交互-----------------------
#启动一个消费者
bin/kafka-console-consumer.sh --topic csdn_wyk --bootstrap-server wyk02:9092
由于topic的元数据信息由zookeeper维护,因此有关于topic的元数据的修改都是和zk进行交互,如topic的:创建,修改,查看详情,删除等操作。
生产者与broker节点交互
由于消费者消费的偏移量在kafka的一个系统topic(__consumer_offsets)进行维护,因此消费者需要与bootstrap服务交互。在0.90版本之前的消费者的偏移量保存在zk内,因此在0.90版本之前是与zk交互,不过已经不建议使用了。
希望本文对你有帮助,请点个赞鼓励一下作者吧~ 谢谢!