Kafka常用命令
以下是kafka常用命令行总结:

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"

工作中常用的kafka命令相关推荐

  1. 工作中常用的linux命令梳理

    由于近一年来,项目中需求新增以及迭代的量慢慢趋于平稳,平时工作中更多的是解决缺陷和BUG,这其中涉及到很多linux服务器上的调试工作,故就梳理了一下平时用的比较多的linux命令,以供以后查阅,具体 ...

  2. linux中dpkg找不到命令_工作中常用的Linux命令介绍与实践

    点击上方可关注! 前言 做后端开发的同学,一般都会接触到服务器,而我们现在的系统用的比较多的服务器系统就是linux了,平时多多少少也会接触到一些linux下的shell命令.我们来介绍下linux一 ...

  3. [Linux]工作中常用的Unix命令

    Linux命令工作实际笔记 一.查看磁盘文件大小: du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exclud ...

  4. 软件测试工作常用linux命令,软件测试工程师工作中常用的Linux命令

    Linux系统有着众多的优点,比方开源.非商业版本免费.多任务多用户操作,因而Linux系统在非桌面范畴占有压倒性的市场份额.关于互联网技术工作者来说,控制常用的 cd 切换目录 cd .. 返回上一 ...

  5. 工作中常用的Linux命令(不断更新中)

    最近工作中用到linux命令,简单总结如下: 1. pwd 查看当前所在的文件路径 2. cd 切换目录 cd .. 切换到上一级目录 3. ls 列出当前文件路径下的所有文件和文件夹 4. ll 是 ...

  6. 工作中常用的Linux命令(持续更新)

    查看默认的java垃圾回收器 jinfo -flag -XX:+PrintcommandLineFlags 进程ID 根据端口抓包 tcpdump -i eth0 tcp port 4347 -XX ...

  7. ubuntu 工作中常用的终端命令

    lsusb  查询usb设备id       在主目录/.android/adb_usb.ini文件中添加0x****(数字0和字母x) adb devices      显示当前运行的全部模拟器 a ...

  8. 工作中常用的linux命令,工作中常用的Linux命令

    1.Linux软件安装命令 2.压缩解压缩 unzip -d apache-tomcat.zip tar -zxvf apache-tomcat.zip ---解压缩 tar -zcvf apache ...

  9. 工作中常用的linux命令,Linux工作中常用到的一些命令(持续更新)常用的

    1.查看运行级别3开启的服务列表: chkconfig --list|grep 3:on 2.查找某类型的文件并计算总大小. find / -name *.conf -exec wc -c {} \; ...

最新文章

  1. network location awareness启动不了_【新手看过来】无钥匙启动功能
  2. 云炬Android开发笔记 5-3,4Restful请求的处理
  3. Egret 生成 自带EUI 的微信小游戏 踩坑!
  4. GPU代码修改成TPU代码
  5. 前端vscode常用插件
  6. mysql触发器不起作用 navicat的bug?
  7. python建立列表并输入_python操作列表
  8. 解决CentOS7本机时间与实际时间相差8小时的问题
  9. iPad有望带来全面鼠标支持 大幅提升游戏体验
  10. GB-T 16260.1-2006 软件工程 产品质量
  11. Android JSON: JSONArray cannot be converted to JSONObject
  12. Hive map side join入门及测试
  13. Chapter 1: Motion Blur
  14. 2007所做更改会影响共用模板normal
  15. java excel下拉框_Java设置Excel下拉列表
  16. 真香啊,手把手教你使用 Python 获取基金信息
  17. PHP微信网页授权登录
  18. httpclient.execute长时间停滞问题
  19. 数据库系统学习笔记(3)
  20. 采用计算机辅助数据收集,可用性测试中计算机辅助数据收集和分析机制研究

热门文章

  1. 【BZOJ】 3238: [Ahoi2013]差异
  2. 一个墙纸还可以改变使用裁剪工具改变图像
  3. 自我小结--工作、学习、编码
  4. [网络安全自学篇] 四十二.DNS欺骗和钓鱼网站原理详解及防御机理
  5. iOS之Socket的使用-AsyncSocket
  6. 下列叙述正确的是( )
  7. Matrix工作室第六届纳新AI组考核题(B卷)
  8. Python3 - 时间处理与定时任务
  9. 互联网架构阶段 数据库读写分离 Amoeba
  10. bashrc文件中环境变量配置错误,导致linux命令无法正常使用的解决方案