安装kafka:
kafka的功能需要依赖zookeeper,所以需要先在docker官网上下载zookeeper和kafka的镜像包(如果linux环境联网,可直接拉取镜像:docker pull zookeeper:版本号 docker pull kafka:版本号)
启动zookeeper容器:
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
启动kafka容器:
docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=172.16.1.80 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest
kafka常用操作命令:
首先进入kafka容器内部: docker exec -it kafka /bin/bash
进入到操作目录下:cd opt/kafka/
查看主题列表:
bin/kafka-topics.sh --list --zookeeper 172.16.1.80:2181
创建主题(命名为test):
bin/kafka-topics.sh --create --zookeeper 172.16.1.80:2181 --replication-factor 1 --partitions 1 --topic test
删除主题:
bin/kafka-topics.sh --delete --topic test --zookeeper 172.16.1.80:2181
创建生产者:
bin/kafka-console-producer.sh --broker-list 172.16.1.80:9092 --topic test
创建消费者:
bin/kafka-console-consumer.sh --bootstrap-server 172.16.1.80:9092 --topic test --from-beginning
查询集群描述:
bin/kafka-topics.sh--describe --zookeeper
消费者列表查询:
bin/kafka-topics.sh--zookeeper 172.16.1.80:2181 --list
高级点的用法:
bin/kafka-simple-consumer-shell.sh--brist localhost:9092--topic test --partition0--offset1234--max-messages10
平衡leader:
bin/kafka-preferred-replica-election.sh--zookeeper zk_host:port/chroot
kafka自带压测命令:
bin/kafka-producer-perf-test.sh--topic test --num-records100--record-size1--throughput100--producer-props bootstrap.servers=localhost:9092
注:命令中的主机ip 172.16.1.80 需要更换成自己的主机ip