侧边栏壁纸
  • 累计撰写 58 篇文章
  • 累计创建 67 个标签
  • 累计收到 1 条评论

Logstash 同步 mysql 踩坑

lihaocheng
2021-06-17 / 0 评论 / 0 点赞 / 969 阅读 / 1,640 字
温馨提示:
晚上记得开启夜间模式哦

最近需要把 mysql 数据接入 logstash ,logstash 和 mysql 都是部署在 Docker 容器中 的,所以碰到了一些问题,在此记录

一、file not readable(please check user add group permissions for the path)

截屏20210618 上午10.13.55.png

开始以为是权限的问题,修改权限依然无效。查询了一下,从ES官网找到了和我类似的情况
截屏20210622 上午11.04.47.png

答主也觉得这是一个权限问题。但是我 chmod 修改权限完全没有用。

解决方法:

最后意外发现是我复制的时候写错了 jar 包的名称,改回原来的名称,问题得到了解决。

二、Are you sure you've included the correct jdbc driver in :jdbc_driver_library?

截屏20210622 上午11.10.53.png

解决方法:

产生的原因是 jar 包版本和 mysql 不匹配,找到对应的版本就可以。

三、Attempted to resurrect connection to dead ES instance, but got an error

截屏20210622 下午2.52.56.png

对于容器来说 127.0.0.1 就是容器本身,因此 logstash 当然无法访问到es

解决方法:

Docker 启动时通过 --net xxx 指定 network,通过容器名称加端口进行访问

例如我 es Docker 容器名为 es01,通过 http://es01:9200 来访问 es

四、docker: Error response from daemon: No command specified

被docker export出来的镜像在启动的时候需要指定command,例如我启动上述nginx容器,需要指定Command

Command可以通过下面命令查询到:

docker ps -a --no-trunc

没有的话可以使用默认的命令/bin/bash

docker create my-es:0.0.1 /bin/bash
0

评论区