一、broker
在每一台节点上启动broker
nohup bin/kafka-server-start.sh config/server.properties &
停止
bin/kafka-server-stop.sh config/server.properties
二、topic
创建topic
bin/kafka-topics.sh –create –zookeeper zk:2181 –replication-factor 1 –partitions 3 –topic test
说明:线上环境我们会将自动创建topic禁用掉,改为手动创建(auto.create.topics.enable=false),parttitions和replication-factor是两个必备选项,第一个参数是消费并行度的一个重要参数,第二个极大提高了topic的可用性.备份因子默认是1,相当于没有备份,注意其值不能大于broker个数,否则会报错。同时还可以指定topic级别的配置参数,这种特定的配置会覆盖掉默认配置,并且存储在zookeeper的/config/topics/[topic_name]节点数据里。
修改topic
bin/kafka-topics.sh –alter –zookeeper zk:2181 –topic test –partitions 10
说明:只能增加partition,不能减少。如果原有分散策略是hash的方式,将会受影响。发送端(默认10分钟会刷新本地存储元信息)和消费端都无需重启即可生效
删除topic
bin/kafka-topics.sh –delete –topic test –zookeeper zk:2181
说明:在0.8.2.1之前的版本一般不建议之行删除操作,因为有各种各样的bug存在,目前的版本稳定些,同时我们需要将配置参数打开(delete.topic.enable=true),删除操作其实是通过更改一个zk节点,由另外的删除线程异步做的topicdeletionmanage
查看一个topic的分区及副本状态信息
bin/kafka-topics.sh –describe –zookeeper zk:2181 –topic test
列出所有topic
bin/kafka-topics.sh –list –zookeeper zk:2181
三、producer
用一个producer向某一个topic中写入消息
bin/kafka-console-producer.sh –broker-list broker-host:9092 –topic test
四、comsumer
用一个comsumer从某一个topic中读取信息
bin/kafka-console-consumer.sh –zookeeper zk:2181 –topic test
从头消费
bin/kafka-console-consumer.sh –zookeeper zk:2181 –topic test –from-beginning
查询消费信息:
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker –zookeeper localhost:2181 –group group_order_ledger –topic payment_completed_dev
五、性能测试
写入消息性能测试:
bin/kafka-producer-perf-test.sh –broker-list kafka1.weibo.com:9092 –batch-size 1 –message-size 1024 –messages 10000 –sync –topics topic_test