gpt4 book ai didi

sql-server - docker 中的 Logstash 错误 SQL Server & JDBC 未加载

转载 作者:行者123 更新时间:2023-12-02 18:21:39 24 4
gpt4 key购买 nike

构建一个弹性堆栈,我必须在其中连接到 SQL Server 数据库。因此,我构建了自己的 Logstash 镜像,并将 JDBC 驱动程序导入到容器中。

FROM docker.elastic.co/logstash/logstash:6.3.0
USER root
COPY mssql-jdbc-6.4.0.jre9.jar /opt/
# Add your logstash plugins setup here
RUN logstash-plugin install logstash-input-jdbc
# Example: RUN logstash-plugin install logstash-filter-json

然后我启动我的 docker-compose 文件。

# Elastic and Kibana config remove for clarity

logstash:
# image: docker.elastic.co/logstash/logstash:${TAG}
build: logstash/
container_name: Logstash
environment:
LS_JAVA_OPTS: "-Xmx256m -Xms256m"
env_file:
- .env
ports:
- '5001:5001'
volumes:
- ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
- ./logstash/pipeline:/usr/share/logstash/pipeline
depends_on:
- elasticsearch1
networks:
- esnet

这是我的 logstash.conf

input {
jdbc {
jdbc_driver_library => "/opt/mssql-jdbc-6.4.0.jre9.jar"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_connection_string => "jdbc:sqlserver://****.database.windows.net"
jdbc_user => "${DB_USERNAME}"
jdbc_password => "${DB_PASSWORD}"
statement => "select * from *****.dbo.association"
}
}

output {
elasticsearch {
hosts => ["http://elasticsearch1:9200", "http://elasticsearch2:9200"]
}
stdout {
codec => rubydebug
}
}

然后我得到这个错误:

Error: com.microsoft.sqlserver.jdbc.SQLServerDriver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library?

最佳答案

你可以去 docker/opt/mssql-jdbc-6.4.0.jre9.jar 检查文件是否存在或者你是否有权限。

或者您可以只为 javalib 绑定(bind)​​另一个文件夹,然后 jdbc_driver_library 应该是 docker 容器中的路径 jdbc_driver_library => "/usr/share/logstash/javalib/mssql-jdbc-6.4.0.jre9.jar"

docker run --rm -it --network="elasticsearch_esnet" -v /data/logstash/lib:/usr/share/logstash/javalib  -v /data/logstash/pipeline/:/usr/share/logstash/pipeline/ docker.elastic.co/logstash/logstash:6.6.2

关于sql-server - docker 中的 Logstash 错误 SQL Server & JDBC 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51609940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com