[英]Logstash unable to load, file not readable
嘗試按照此答案在 MongoDB 和 Elasticsearch 之間使用MongoDbJdbcDriver進行同步。 我使用docker-compose
進行開發,這就是logstash
:
logstash:
image: logstash:7.9.1
container_name: logstash
volumes:
- ./logstash/jars/gson-2.8.6.jar:/usr/share/logstash/logstash-core/lib/jars/gson-2.8.6.jar:ro
- ./logstash/jars/mongojdbc2.3.jar:/usr/share/logstash/logstash-core/lib/jars/mongojdbc2.3.jar:ro
- ./logstash/jars/mongo-java-driver-3.12.6.jar:/usr/share/logstash/logstash-core/lib/jars/mongo-java-driver-3.12.6.jar:ro
- ./logstash/config/pipelines.yml:/usr/share/logstash/config/pipelines.yml
- ./logstash/pipeline/mongo-to-elasticsearch.conf:/usr/share/logstash/pipeline/mongo-to-elasticsearch.conf
command: logstash
depends_on:
- elasticsearch
我運行docker-compose up
它給出了這個錯誤:
...
logstash | Error: unable to load mongojdbc2.3.jar from :jdbc_driver_library, file not readable (please check user and group permissions for the path)
logstash | Exception: LogStash::PluginLoadingError
...
我已經在我的機器上檢查了mongojdbc2.3.jar
文件權限,為我和 docker 組提供了讀寫權限。 但是,當我檢查logstash
容器內部時,所有者不是root
而是logstash
:
// ls -l /usr/share/logstash/logstash-core/lib/jars
...
-rw-r--r-- 1 logstash logstash 2315317 Jul 24 15:13 mongo-java-driver-3.12.6.jar
-rw-r--r-- 1 logstash logstash 83500 Sep 8 01:30 mongojdbc2.3.jar
-rw-rw-r-- 1 logstash root 107210 Sep 1 23:32 org.eclipse.core.commands-3.6.0.jar
...
我嘗試更改容器內的所有權,但由於沒有sudo
權限,因此無法更改。
請幫忙,如何在 MongoDB 和 Elasticsearch 之間成功同步?
堆棧:MongoDB (v4.4.1)、Logstash (v7.9.1)、Docker (v19.03.12)、Docker-compose (v1.27.3)
嘗試創建包含 jars 的新圖像
logstash:
build: ./logstash/
container_name: logstash
volumes:
- ./logstash/config/pipelines.yml:/usr/share/logstash/config/pipelines.yml
- ./logstash/pipeline/mongo-to-elasticsearch.conf:/usr/share/logstash/pipeline/mongo-to-elasticsearch.conf
command: logstash
depends_on:
- elasticsearch
./logstash/Dockerfile
FROM docker.elastic.co/logstash/logstash:7.9.1
COPY ./jars/ /usr/share/logstash/logstash-core/lib/jars
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.