前言异常一
问题来源问题分析解决方法 异常二
问题来源问题解决 异常三
问题来源
前言想着用elasticsearch+logstash做一个搜索功能实现,然后在搭建logstash时出现了一些问题,记录一下。
异常一问题来源/elk/mysql-connector-java-8.0.22.jar from :jdbc_driver_library, file not readable (please check user and group permissions for the path)
配置:jdbc_driver_library => “/usr/share/logstash/mysql/mysql-connector-java-8.0.22.jar”
问题分析这个问题的解决方法,网上很多都没写清楚,这是我的总结
- /usr/share/logstash/mysql/必须是挂载目录对应容器中的那个目录。/usr/share/logstash/mysql/要在容器中有相应的读取权限
docker-compose.yml中配置如下:
logstash:
container_name: logstash
image: logstash:7.16.1 #logstash:日志处理
command: logstash -f /usr/share/logstash/conf/my.conf
depends_on:
- elasticsearch
restart: on-failure
ports:
- "9600:9600"
- "5044:5044"
volumes: #logstash.conf日志处理配置文件 格式:#输入 input{} #分析、过滤 filter{} #输出 output{}
- /elk/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml
- /elk/logstash/conf/:/usr/share/logstash/conf/
- /elk/logstash/mysql/:/usr/share/logstash/mysql/
#设置容器的权限为root
privileged: true
networks:
不使用docker-compose的话在使用命令时加上参数privileged: true就行。
异常二问题来源JDBC query {:exception=>“Java::JavaSql::SQLException: null, message from server: “Host ‘192.168.226.130’ is not allowed to connect to this MySQL server””}
远程访问权限问题,网上有很多解决
问题解决use mysql; select host,user from user; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; flush privileges;异常三
问题来源:exception=>"Java::JavaSql::SQLException: Access denied for user ‘root’@‘172.17.0.1’ (using password: YES)
我脑残了,切换到虚拟机上的MySQL忘了换密码了



