Debezium系列- kafka connet debug
背景
使用Debezium采集MySQL Binlog 集成到Hive中,采坑(一)(二) 中对问题的猜想还没得到证实,又发现了 Debezium 采集 MySQL 时间转换时间错乱问题,关于时间错乱问题后续文章中会详细分析,于是走上kafka connect的debug之路。
原理
根本原理就是利用远程debug 模式:服务端远程开启debug模式,本地链接远程端口调试集合。但是如何开启呢?下面将细细道来
开启过程
服务端开启debug
哈哈!!!其实开启 debug 模式很简单,在$confluent_home/bin/kafka-run-class 启动文件中,将KAFKA_DEBUG赋值即可,建议配置为 KAFKA_DEBUG=true。
本人使用的是 confluence 包一键搭建的开发环境,对于开发搭建十分简单但对开启debug模式有个小坑,如果简单的将 KAFKA_DEBUG赋值,会有端口冲突问题。 原因是开发者模式模式下启动,zookeeper 、 kafka 、kafka connect 的启动都会调用 $confluent_home/bin/kafka-run-class 去其对应的应用。
## zookeeper
cat zookeeper-server-start
## 此处省略N行,最后
exec $base_dir/kafka-run-class $EXTRA_ARGS org.apache.zookeeper.server.quorum.QuorumPeerMain "$@"## kafka
cat kafka-server-start
## 此处省略N行,最后
exec $base_dir/kafka-run-class $EXTRA_ARGS io.confluent.support.metrics.SupportedKafka "$@"
## connect
cat connect-distributed
## 此处省略N行,最后
exec $(dirname $0)/kafka-run-class $EXTRA_ARGS org.apache.kafka.connect.cli.ConnectDistributed "$@"
每个应用的启动都开启远程debug 并且端口都是默认的不冲突才怪,知道了原因解决就不是问题了,于是乎做如下小优化,只有在启动connect的时候才启用debug
# Set Debug options if enabledif [ "$1" = "org.apache.kafka.connect.cli.ConnectDistributed" ]; thenKAFKA_DEBUG=true
fi
重启应用查看connect 日志
...
Listening for transport dt_socket at address: 5005
...
看到如上关键日志说明你服务端debug开启成功了,少年嗨起来吧!
本地开启连接远程debug
需要用的源代码,自行github下载,我使用的是idea将源码导入后直接新建一个运行窗口配置如下:
点击debug后,想断点哪里就断点哪里。
后续
开启debug 成功后,将之前 采坑(一)(二) 猜想走了一遍猜想的没问题,运行是就是这样的,下篇说下时间转换问题。
Debezium系列- kafka connet debug相关推荐
- Debezium系列之:使用Debezium接入PostgreSQL数据库数据到Kafka集群的详细技术文档
Debezium系列之:使用Debezium接入PostgreSQL数据库数据到Kafka集群的详细技术文档 一.概述 二.连接器的工作原理 1.安全 2.快照 3.Ad hoc snapshots ...
- Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档
Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档 一.Debezium概述 二.SQL Server 连接器的工作原理 1.Snapshot ...
- Debezium系列之:实现不同表中的数据始终发往对应的kafka topic分区,支持根据表中任意字段分发数据到Kafka topic多个分区
Debezium系列之:实现不同表中的数据始终发往对应的kafka topic分区,实现支持根据表中任意字段分发数据到Kafka topic多个分区 一.需求背景 二.ComputePartition ...
- debezium系列之:Kafka Connect
debezium系列之:Kafka Connect 一.Source和Sink 二.Task和Worker 三.Kafka Connect特性 四.独立模式 1.Source连接器的用法 2.Sink ...
- Debezium系列之:安装部署debezium2.0以上版本的详细步骤
Debezium系列之:安装部署debezium2.0以上版本的详细步骤 一.相关技术博客 二.升级debezium2.0以上版本注意事项 三.安装jdk 四.修改kafka相关参数 五.启动kafk ...
- Debezium系列之:Debezium2.X之PostgreSQL数据库的Debezium连接器
Debezium系列之:Debezium2.X之PostgreSQL数据库的Debezium连接器 一.概述 二.连接器的工作原理 1.安全 2.快照 3.临时快照 4.触发临时快照 5.增量快照 6 ...
- Debezium系列之:快速了解Debezium 2.0.0.Final新的特性
Debezium系列之:快速了解Debezium 2.0.0.Final新的特性 一.对核心Debezium 的更改 1.需要 Java 11 2.改进的增量快照 3.交易元数据变化 4.多分区模式现 ...
- Debezium系列之:增加心跳检测heartbeat.interval.ms
Debezium系列之:增加心跳检测heartbeat.interval.ms 一.需求背景 二.心跳检测含义 三.增加心跳检测参数 四.查看心跳检测topic 五.修改心跳检测topic前缀 一.需 ...
- Debezium系列之:Debezium UI部署详细步骤
Debezium系列之:Debezium UI部署详细步骤 一.安装docker 二.修改docker镜像仓库 三.启动debezium ui命令详解 四.启动debezium ui 五.登陆debe ...
最新文章
- GLPI生成中文PDF报表
- 2014 UESTC暑前集训搜索专题解题报告
- linux redhate7 yum源,更换Red Hat Enterprise Linux 7 64位的yum为centos的版本
- java cron工具类_Java工具类之:包装类
- 《引爆点》读书笔记(一)
- [Project Euler] 来做欧拉项目练习题吧: 题目012
- 阿里开源物联网操作系统 AliOS Things 3.0 发布,集成平头哥 AI 芯片架构!
- C++实践參考——二进制文件浏览器
- 语义slam_【语义SLAM】MIT 新开源语义VIOSLAM框架 kimera
- 关于编译ns3的myfirst.cc问题
- 《翻译与本地化CAT软件实用教程》目录
- 大数据技术Spark详解
- 【65】如何通过sys文件系统remove和probe一个PCI设备
- 这是我看过把Spring Cloud核心组件讲的最明白的一个故事了
- Excel多个表格通过相同的列合并成一个表格
- 5种类型的图像注释简介
- Ace - Responsive Admin Template
- MUI-grid(栅格),超小屏xs和小屏幕sm
- 邮箱163登录入口?邮箱163注册格式是什么?
- linux watch 查看文件,linux watch肿么退出
热门文章
- 1、IDEA安装与破解教程
- mysql数据库回滚日志_超干货!为了让你彻底弄懂 MySQL 事务日志,我通宵搞出了这份图解...
- U盘安装win10时,出现“Windows无法打开所需文件D:\Sources\install.wim”解决办法
- BDF 字体文件格式(转)
- 操作系统基本原理(软件设计师考试)
- 希尔贝壳荣获 “悟道之巅——AI创新应用大赛”主赛道优胜奖
- 2021考研,有多少学校计算机改408?
- docker启动nginx命令
- 解决keil-5中stm32f103系列使用ST-Link下载程序时不能连接的问题。“flash download failed ”
- 虾皮延迟发货多久取消订单?