创建Topic
bin/kafka-topics.sh --create --zookeeper node-1:2181 --replication-factor 2 --partitions 1 --topic LIS_LAINDEXINFO
删除主题
bin/kafka-topics --delete --zookeeper node-1:2181 --topic LIS_LAINDEXINFO
查看所有主题
bin/kafka-topics.sh --list --zookeeper node-1:2181
发送消息
bin/kafka-console-producer.sh --broker-list node-1:9092 --topic LIS_LAAGENT
开始一个消费者
bin/kafka-console-consumer.sh --zookeeper node-1:2181 --topic LIS_LCCont --from-beginning
kafka启动命令
bin/kafka-server-start.sh config/server.properties &
nohup ./kafka-server-start.sh ../config/server.properties 1>/dev/null 2>&1 &(后台启动)
开启伪集群
bin/kafka-server-start.sh -daemon config/server.properties
开启集群
/bin/kafka-server-start.sh config/server.properties &
描述主题
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:
Topic: my-replicated-topic Partition: 0 Leader: 1 Replicas: 1,2,0 Isr: 1,2,0
这里是对输出的解释。第一行给出所有分区的摘要,每条额外的行提供关于一个分区的信息。因为这个主题只有一个分区,所 以只有一行。
与主题相关的配置都具有全局缺省值,以及可选的每个主题覆盖。如果没有使用全局缺省值,则不使用每个主题的配置。可以通过给出一个或多个配置选项来设置主题创建时间。这个例子创建了一个名为my-topic的主题,它具有自定义的最大消息大小和刷新速率:bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic my-topic --partitions 1
--replication-factor 1 --config max.message.bytes=64000 --config flush.messages=1
重写还可以使用alter topic命令更改或设置。这个例子更新了my主题的最大消息大小:
bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic
--config max.message.bytes=128000
删除单条配置
bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic
--deleteConfig max.message.bytes
0.8.2版本以下删除Topic
kafka0.8.2及以上版本已经支持delete命令删除topic,可是之前的版本要是想删除topic还是要费一番手脚,绝对是个体力活。。。
该方法最好仅在线下开发环境中使用,毕竟要重启zookeeper和broker
步骤
1.在zk中删除topic信息(test)
$KAFKA_HOME/bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand
--zookeeper zk1:2181,zk2:2181,zk3:2181
--topic test
关闭zookeeper和broker
$ZOOKEEPER_HOME/bin/zkServer.sh stop
$KAFKA_HOME/bin/kafka-server-stop.sh
2.删除topic消息
进入kafka指定的log.dir位置,删除所有test相关的partition(如果你的partition较多并且分布到各个broker上,过程还是很辛苦的。)
同时修改日志目录下的 recovery-point-offset-checkpoint 和 replication-offset-checkpoint 文件
删除其中相关的partition信息,并且把文件中第二行的partition总数减少。
3.重启服务
任务完成,重新启动zk和broker
$ZOOKEEPER_HOME/bin/zkServer.sh start
$KAFKA_HOME/bin/kafka-server-start.sh