kafka启动
./kafka-server-start.sh -daemon ../config/server.properties
帮助信息
kafka-topics --help
创建Topic
bin/kafka-topics.sh --create --topic test0 --zookeeper 127.0.0.1:2181/kafka --config max.message.bytes=12800000 --config flush.messages=1 --partitions 5 --replication-factor 1
说明:
–topic后面的test0是topic的名称
–zookeeper应该和server.properties文件中的zookeeper.connect一样
–config指定当前topic上有效的参数值
–partitions指定topic的partition数量,如果不指定该数量,默认是server.properties文件中的num.partitions配置值
–replication-factor指定每个partition的副本个数,默认1个
查看当前Kafka集群中Topic的情况
bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181/kafka
列出该zookeeper中记录在案的topic列表,只有名字
查看Topic的分区和副本情况
命令:
bin/kafka-topics.sh --describe --zookeeper 127.0.0.1:2181/kafka --topic test0
kafka生产消息
bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test0
kafka消费消息
bin/kafka-console-consumer.sh -zookeeper 127.0.0.1:2181/kafka --from-beginning --topic test0
查看topic消费到的offset
命令:
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 127.0.0.1:9092 --topic test0 --time -1
查看topic各个分区的消息的信息
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --group testgroup --topic test0 --zookeeper 127.0.0.1:2181/kafka
修改topic的partition数量(只能增加不能减少)
bin/kafka-topics.sh --alter --zookeeper 127.0.0.1:2181/kafka --partitions 10 --topic test0
修改topic的副本数
bin/kafka-reassign-partitions.sh --zookeeper 127.0.0.1:2181/kafka --reassignment-json-file addReplicas.json --execute
- addReplicas.json如下:
{
"version": 1,
"partitions": [
{
"topic": "test0",
"partition": 0,
"replicas": [
1,2
]
},
{
"topic": "test0",
"partition": 1,
"replicas": [
1,2,3
]
},
{
"topic": "test0",
"partition": 2,
"replicas": [
1,2,3
]
}
]
}
删除topic
比如删除test0这个topic
1,删除kafka的topic
命令:
bin/kafka-topics.sh –delete –zookeeper 127.0.0.1:2181/kafka –topic test0
如果server.properties中没有把delete.topic.enable设为true,那么此时的删除并不是真正的删除,而是把topic标记为:marked for deletion
2,删除kafka中该topic相关的目录。
在server.properties中找到配置log.dirs,把该目录下test0相关的目录删掉
3,登录zookeeper client。
命令:
/home/ZooKeeper/bin/zkCli.sh
4,删除zookeeper中该topic相关的目录
命令:
rm -r /kafka/config/topics/test0
rm -r /kafka/brokers/topics/test0
rm -r /kafka/admin/delete_topics/test0 (topic被标记为marked for deletion时需要这个命令)
5,重启zookeeper和broker