赞
踩
1.查看topic的详细信息 /data/bin/kafka/bin//kafka-topics.sh --zookeeper 172.16.2.179:2181,172.16.1.40:2181,172.16.1.48:2181 --describe --topic test2020
/data/bin/kafka/bin/kafka-topics.sh --zookeeper 172.16.2.179:2181,172.16.1.40:2181,172.16.1.48:2181 --describe | grep 20200403
2、创建topic
/data/bin/kafka/bin/kafka-topics.sh --create --zookeeper 172.16.2.179:2181,172.16.1.40:2181,172.16.1.48:2181 --replication-factor 3 --partitions 1 --topic test202002
3、为topic增加partition
./bin/kafka-topics.sh --zookeeper 172.16.1.40:2181,172.16.1.48:2181,172.16.2.179:2181 --alter --partitions 1 --replication-factor 2 --topic test2020
4、kafka生产者客户端命令
/data/bin/kafka/bin/kafka-console-producer.sh --broker-list 172.16.2.179:9092,172.16.1.40:9092,172.16.1.48:9092 --topic test2020
5、kafka消费者客户端命令
/data/bin/kafka/bin/kafka-console-consumer.sh --zookeeper 172.16.1.40:2181,172.16.1.48:2181,172.16.2.179:2181 --topic test2020 --from-beginning
或者
/data/bin/kafka/bin/kafka-console-consumer.sh --bootstrap-server 172.16.2.179:9092,172.16.1.40:9092,172.16.1.48:9092 --from-beginning --topic test2020
打印时间戳:
/data/bin/kafka/bin/kafka-console-consumer.sh --bootstrap-server 172.16.2.179:9092 --topic real-a-20200414 --from-beginning --property print.timestamp=true
6、kafka服务启动
./kafka-server-start.sh -daemon ../config/server.properties
7、下线broker
./kafka-run-class.sh kafka.admin.ShutdownBroker --zookeeper 127.0.0.1:2181 --broker #brokerId# --num.retries 3 --retry.interval.ms 60
shutdown broker
8、删除topic
/data/bin/kafka/bin/kafka-topics.sh --zookeeper 172.16.1.40:2181,172.16.1.48:2181,172.16.2.179:2181 --delete --topic test2020
9、查看consumer组内消费的offset
./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --group test --topic testKJ1
10、为topic增加副本
./kafka-reassign-partitions.sh --zookeeper 127.0.0.1:2181 --reassignment-json-file json/partitions-to-move.json -execute
学习参考:
http://www.infoq.com/cn/articles/kafka-analysis-part-1
http://flychao88.iteye.com/category/350737
http://shift-alt-ctrl.iteye.com/blog/1930791
http://www.tuicool.com/articles/mErEZn
最后测试是否安装成功(三台都要启动):
1.进入zookeeper的bin目录,执行sh zkServer.sh start进行启动zookeeper
2.查看状态 进入bin目录,执行sh zkServer.sh status
3.停止 进入bin目录,执行sh zkServer.sh stop
4.重启 进入bin目录,执行sh zkServer.sh restart
========================================================================================================================
[root@real-kafka-1 kafka-logs]# rm -rf sz-l2-level-20190606-0
[root@real-kafka-1 kafka-logs]# rm -rf sz-l2-master-20190606-0
[root@real-kafka-1 kafka-logs]# rm -rf ss-l2-trade-plus-20190606-0
[root@real-kafka-1 kafka-logs]# rm -rf real-a-l2-20190606-0
[root@real-kafka-1 kafka-logs]# rm -rf sz-l2-trade-20190606-0
/data/bin/kafka_2.11-1.0.0/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic sz-l2-master-20190606
/data/bin/kafka_2.11-1.0.0/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic sz-l2-level-20190606
/data/bin/kafka_2.11-1.0.0/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic ss-l2-trade-plus-20190606
/data/bin/kafka_2.11-1.0.0/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic sz-l2-trade-20190606
/data/bin/kafka_2.11-1.0.0/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic real-a-l2-20190606
问题:删除topic后,报错:
kafka: Failed to produce message to topic : kafka server: In the middle of a leadership election, th
解决办法:
用kafka命令执行删除操作
重启kafka
=======================================================================
解决topic没有leader的问题,查看topic对应的leader是否正常:
szl2kafka3:
/data/bin/kafka_2.11-2.1.1/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --topic sz-l2-master-20190716 --describe
/data/bin/kafka_2.11-2.1.1/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --topic sz-l2-slave-20190716 --describe
Topic:sz-l2-slave-20190715 PartitionCount:1 ReplicationFactor:1 Configs:
Topic: sz-l2-slave-20190715 Partition: 0 Leader: -1 Replicas: 2 Isr: 2
解决办法:
重启kafka,同上删除的解决办法
=======================================================================
kafka重启后,有一台broker一直不可用,
通过grep ERR logs/*发现是这个软链接导致kafka无法加载这个topic,broker不可用。是因为:对分区文件夹用了软链接,
删除软连接,重启kafka,问题解决。
=======================================================================
有一台zookeeper启动后,查看状态是:not running
查看zookeeper.log发现,报错 :
Cannot open channel to 1 at election address /172.16.2.179:3888
java.net.SocketTimeoutException: connect timed out
经过telnet发现 3888端口不通,因为以前一直都是好的,没想过会有人动了端口,所以查了好久,才定位到端口问题。开放端口后问题解决。
kafka如何直接查看log文件中的信息
bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files /tmp/kafka-logs/test3-0/00000000000000000000.log --print-data-log
这里 --print-data-log 是表示查看消息内容的,不加此项是查看不到详细的消息内容。如果要查看多个log文件可以用逗号分隔
用strings命令查看kafka-log内容
发表于2015-01-06
kafka的log内容格式还不没怎么了解,想快速浏览消息内容的话,除了使用它自带的 kafka-console-consumer.sh脚本,还可以直接去看log文件本身,不过内容里有部分二进制字符,通过命令看的话会有乱码。
strings 命令可以过滤掉二进制编码,但默认它也会过滤掉中文字符,只留有英文字符。要用它的 -e S参数可以同时过滤出中文或英文字符,但仍会包含了小部分的二进制编码,可以在通过iconv去掉一下,能大致看到消息内容:
$ cat log-strings.sh
#!/bin/bash
PROG_NAME=$0
LOG_FILE=$1
if [ -z "$LOG_FILE" ];then
echo "Usage: $PROG_NAME logfile"
exit 1
fi
strings -e S "$LOG_FILE" | iconv -c -f "UTF-8" -t "UTF-8"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。