Logstash 同步 mysql 踩坑

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

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

Logstash 同步 mysql 踩坑

开始以为是权限的问题,修改权限依然无效。查询了一下,从ES官网找到了和我类似的情况
Logstash 同步 mysql 踩坑

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

解决方法:

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

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

Logstash 同步 mysql 踩坑

解决方法:

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

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

Logstash 同步 mysql 踩坑

对于容器来说 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
上一篇:在阿里云服务器中搭建FTP的方法


下一篇:扒一扒@Retryable注解,很优雅,有点意思!