如何解决Logstash Docker到MySql Docker连接失败
我试图将数据从 MySql 拉到logstash,最后将数据填充到 elasticSearch 。
Logstash.conf -我们正试图从MySql中获取结果并将其推入ES。
input {
jdbc {
jdbc_driver_library => "${LOGSTASH_JDBC_DRIVER_JAR_LOCATION}"
jdbc_driver_class => "${LOGSTASH_JDBC_DRIVER}"
jdbc_connection_string => "${LOGSTASH_JDBC_URL}"
jdbc_user => "${LOGSTASH_JDBC_USERNAME}"
jdbc_password => "${LOGSTASH_JDBC_PASSWORD}"
schedule => "* * * * *"
statement => "SELECT * FROM testtable;"
}
}
output {
stdout { codec => rubydebug }
elasticsearch {
hosts => "http://elasticsearch:9200"
index => "testtable"
#document_type => "testtable"
document_id => "%{PersonID}"
#user => "elastic"
#password => "changeme"
}
}
使用docker-compose.yml填充的JDBC详细信息
mysql:
container_name: mysql
image: mysql:5.6
ports:
- 13306:3306
environment:
- MYSQL_ROOT_PASSWORD=pass
- MYSQL_DATABASE=db
- MYSQL_USER=root
- MYSQL_PASSWORD=pass
volumes:
- mysql_data:/var/lib/mysql
networks:
- logstash_network
logstash:
#image: docker.elastic.co/logstash/logstash:6.6.0
container_name: logstash
image: logstash-input-jdbc-mysql:7.8.0
environment:
ELASTICSEARCH_URL: http://elasticsearch:9200
xpack.monitoring.enabled: 'false'
LOGSTASH_JDBC_URL: jdbc:mysql://localhost:13306/db?autoReconnect=true&useSSL=false
LOGSTASH_JDBC_DRIVER: com.mysql.cj.jdbc.Driver
LOGSTASH_JDBC_DRIVER_JAR_LOCATION: /usr/share/logstash/logstash-core/lib/jars/mysql-connector-java-8.0.21.jar
LOGSTASH_JDBC_USERNAME: root
LOGSTASH_JDBC_PASSWORD: pass
xpack.monitoring.enabled: 'false'
xpack.monitoring.elasticsearch.url: http://elasticsearch:9200
ports:
- 5044:5044
- 5001:5001
networks:
- logstash_network
volumes:
- ./logstash-input-jdbc.conf:/usr/share/logstash/pipeline/logstash.conf
- /var/elasticsearch/logstash/pipeline:/usr/share/logstash/pipeline
depends_on:
- elasticsearch
- mysql
错误,
[ERROR]logstash.inputs.jdbcUnable to connect to database. Tried 1 times {:error_message=>"Java::JavaSql::SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up."}
{ 2054 rufus-scheduler intercepted an error:
2054 job:
2054 Rufus::Scheduler::CronJob "* * * * *" {}
2054 2054
2054 Sequel::DatabaseConnectionError
2054 Java::JavaSql::SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
我尝试将jdbc url主机用作mysql:13306,仍然无效!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。