大数据组件Maxwell采集Mysql日志报错: server_id is ‘0‘. Maxwell will not function without a server_id being set.

大数据组件Maxwell采集Mysql日志报错: server_id is ‘0’. Maxwell will not function without a server_id being set.

背景:由于最近项目突然使用实时数据分析,因此架构采集使用maxwell实时采集mysqlbinlog日志并推送到kafka,然后在本地搭建了实时数仓开发环境,mysql使用docker安装,然后采用maxwell进行采集

错误现象

mysql配置文件已更新为开启binlog日志,然后启动maxwell提示这个错误,并且maxwell进程关闭

image.png

问题分析和排查

  1. 根据报错,第一时间反应是mysql的问题,应该是没有找到server,开始排查mysql
  2. 由于mysql正常,忽略了查看binlog是否开启,我直接在mysql上查询binlog开启情况,果然没开启,
show variables like 'log_%';-- 执行这个sql查看是否开启
  1. 检查my.cnf配置文件正常,mysql启动正常,但是似乎配置文件中的内容不生效,因为已经配置的开启binlog,实际却并没有开启,排查mysql容器
  2. 通过以下命令进入到mysql容器中,然后通过查看配置文件映射路径,发现自定义的配置文件存在,并且内容和宿主机一致,如下图
docker exec -it mysql /bin/bash 
  1. 重启mysql容器,并使用客户端连接,通过查询binlog状态,依然不正确,然后考虑是否是客户端的问题,继续排查mysql容器,使用容器内mysql -uroot -p方式登录mysql,报如下错:

mysql: [Warning] World-writable config file ‘/etc/mysql/conf.d/my.cnf’ is ignored.

image.png

  1. 意思是这个文件被忽略掉了,通过查询文档,发现是由于这个文件的执行权限太高导致的(不理解为什么权限越大反而不行),开始对宿主机中对应的配置文件进行降级:
chmod 644 my.cnf
  1. 重启mysql
docker restart mysql
  1. 再次查询binlog开启状态,如下图:

image.png

至此问题解决,特此记录~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

4935同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值