canal-随记001-吐血一个下午找bug
前天leader说,阿里的新版本canal支持 canal收集binlog直接发到kafka,你要不研究一下?
ok,没问题。
昨天周六,在家搭了套环境。解决centos7安装mysql各种小细节,按照阿里github上的步骤来做。终于,还是没有跑起来。。
但是根据现象:一旦往mysql表中插入数据,查看canal.log就会有日志滚动更新,只是不是我想要的内容。。。
日志如下:
2019-04-28 05:24:06.242 [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 could not be established. Broker may not be available.
由此推测是canal到kafka的过程出了问题。
今天周天,因为五一假期,法定上班。早早来到办公室,再次细细看了阿里的github和自己的工程环境,怀疑是canal配置到kafka的端口有问题,配置文件canal.properties默认:canal.mq.servers = 127.0.0.1:6667,
心想没有端口是6667啊,应该是kafka的9092才对啊。
果然,搞定!
/////////////////////////然而下午并没有那么顺利/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
下午打开电脑,发现我的虚拟机的ip自己又变了。因为采用的是动态地址,心里想一定要改成静态地址,但。。。还是先解决当下问题重要。
我把canal和kafka中的相关配置文件ip都改了后,鉴于经常启用canal,zk,kafka,所以把启动和停止的命令都添加到xshell的快捷栏上
然后再次启动。。。呵呵呵。。。。
2019-04-28 05:24:06.242 [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 could not be established. Broker may not be available.
又是不停的刷这个日志,我一开始是不怕的,毕竟我见过它。
我想,肯定是我在配置新的ip的时候,配置文件没有配置正确。
我一个一个的翻,终于,还是没找到原因。
还好,我足够机智,提前把上午canal,zk,kafka的那套正确运行的整个包都备份了一下。我删除下午修改配置文件所导致的狼狈不堪的环境,把上午的那套解压了出来。
嘿嘿,心想这下把之前的IP换成现在的IP,其他都不变,还有错的道理?
果然,还是上面那条看了就心乱如麻的日志在不停刷新。。。
有点慌了。。。。。
咦~别慌。。。怎么每次我点xshell中快速按钮来关闭kafka时,总会提示我“No kafka server to stop”呢???
然后我用xshell中快速按钮来启动kafka时,然后用ps -ef | grep -i kafka却看不到kafka呢???
是的,我知道错了。
问题恰恰出在xshell的快捷按钮上。
启动kafka时,指定server.properties文件,我是这么写的:
sh /usr/hadoop/kafka/kafka_2.12-2.1.0/bin/kafka-server-start.sh -daemon ../config/server.properties &
快速启动的时候,当前路径是不固定的,怎么可能正确识别“../config/server.properties”
所以,对不起,我错了,我以后改。
canal-随记001-吐血一个下午找bug的更多相关文章
- C#程序双击运行之后,界面不显示,但是在任务管理器有进程(一个winform找bug之旅)
最近客户端又出了奇葩事情:http://q.cnblogs.com/q/43038/ 如这篇博问一样.我的一个客户的电脑上程序打开了,进程也有了,就是界面窗体出不来!!! 我是win7是开发机,三四台 ...
- 用一个下午从零开始搭建一个基础lbs查询服务
背景 现在做一个sns如果没有附近的功能,那就是残缺的.网上也有很多现成的lbs服务,封装的很完整了. 我首先用了下百度lbs云,但是有点不适合自己的需要,因此考虑用mongodb建一个简单的lbs服 ...
- Vue折腾记 - (3)写一个不大靠谱的typeahead组件
Vue折腾记 - (3)写一个不大靠谱的typeahead组件 2017年07月20日 15:17:05 阅读数:691 前言 typeahead在网站中的应用很多..今天跟着我来写一个不大靠谱的ty ...
- vs05字节对齐问题又一不小心就弄去了我一个下午的时间
由于一字节的对齐问题,我调一个库调了我基本一个下午..... 犯错其实并不可怕, 可怕的是你一犯再犯...... 这也算得上是难能可贵... /Zp (Struct Member Alignment) ...
- Java Learning 001 新建一个Java工程 HelloWorld程序
Java Learning 001 新建一个Java工程 HelloWorld程序 Step 1 . 在Eclipse 软件里,点击: File -> New -> Java Projec ...
- salesforce零基础学习(一百一十五)记一个有趣的bug
本篇参考:https://help.salesforce.com/s/articleView?language=en_US&type=1&id=000319486 page layou ...
- 海王星给你好看!FineUI v4.0公测版发布暨《你找BUG我送书》活动开始(活动已结束!)
<FineUI v4.0 你找BUG我送书>活动已结束,恭喜如下三位网友获得由 FineUI 作者亲自翻译的图书<jQuery实战 第二版>! 奋斗~ 吉吉﹑ purplebo ...
- SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理
原文:SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理 SQL Server 字段类型 decimal(18,6)小数点前是几位? 不可否认,这是 ...
- 第二次作业:找Bug
引子 我真的想了一个小时,上哪里去找bug.我昨天还留意到一个bug,今天就不见了.灵光不断,我想起来了.我就要找大公司的产品的bug... 第一部分 调研, 评测 体验. <腾讯桌球>是 ...
随机推荐
- 读取导入csv csv报错iterable expected, not float
示例代码import pandas as pdimport reimport csv data = pd.read_csv('nuojia.csv', encoding='utf-8')# print ...
- ORACLE数据闪回
ALTER TABLE SPM_CON_PAYMENT_RECEIPT ENABLE ROW MOVEMENT; -- 表名 FLASHBACK TABLE SPM_CON_PAYMENT_REC ...
- Android List 排序
Collections.sort(list, (l1, l2) -> l1.getID().compareTo(l2.getID())); list:泛型集合 l1:比较的前一个泛型 l2:比较 ...
- ddt运行测试方法时报错AttributeError: type object 'TestHttpRq' has no attribute 'test_http_rq_login'
import unittest import ddt #装饰器 from ddt import ddt,data,unpack #导入ddt中的各个模块 from homework.unittest_ ...
- Vue(小案例_vue+axios仿手机app)_Vuex优化购物车功能
一.前言 1.用vuex实现加入购物车操作 2.购物车详情页面 3.点击删除按钮,删除购物详情页面里的对应商品 二.主要内容 1.用vuex加入购物车 (1)在src ...
- python集合的分类与操作
如图: 集合的炒作分类: 确定大小 测试项的成员关系 遍历集合 获取一个字符串表示 测试相等性 连接两个集合 转换为另一种类型的集合 插入一项 删除一项 替换一项 访问或获取一项
- oracle not in 改为 not exist
修改前 SELECT pageID, permissionID FROM tableA WHERE userID=#{userID} AND projectCode=#{projectCode} AN ...
- ModBus-RTU详解
Modbus 一个工业上常用的通讯协议.一种通讯约定.Modbus协议包括RTU.ASCII.TCP.其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现.虽然RTU比较简单,但是看协议 ...
- 【1】MySQL大数据量分页查询方法及其优化
---方法1: 直接使用数据库提供的SQL语句---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N---适应场景: 适用于数据量较少的情况(元组百/千 ...
- 【转】Redis学习笔记(四)如何用Redis实现分布式锁(1)—— 单机版
原文地址:http://bridgeforyou.cn/2018/09/01/Redis-Dsitributed-Lock-1/ 为什么要使用分布式锁 这个问题,可以分为两个问题来回答: 为什么要使用 ...