最近需要把 mysql 数据接入 logstash ,logstash 和 mysql 都是部署在 Docker 容器中 的,所以碰到了一些问题,在此记录
一、file not readable(please check user add group permissions for the path)
开始以为是权限的问题,修改权限依然无效。查询了一下,从ES官网找到了和我类似的情况
答主也觉得这是一个权限问题。但是我 chmod
修改权限完全没有用。
解决方法:
最后意外发现是我复制的时候写错了 jar 包的名称,改回原来的名称,问题得到了解决。
二、Are you sure you've included the correct jdbc driver in :jdbc_driver_library?
解决方法:
产生的原因是 jar 包版本和 mysql 不匹配,找到对应的版本就可以。
三、Attempted to resurrect connection to dead ES instance, but got an error
对于容器来说 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