繁体   English   中英

ddev + elasticsearch 最新版本的问题

[英]Troubles with ddev + elasticsearch latest version

尝试在 DDEV 上启动 ES 容器时遇到了一些麻烦。

我已经从 drud 存储库下载了官方 dockerfile并进行了一些更改(版本、最大节点等),如您所见:

version: '3.6'
services:
  elasticsearch:
    container_name: ddev-${DDEV_SITENAME}-elasticsearch
    hostname: ${DDEV_SITENAME}-elasticsearch
    image: elasticsearch:6.8.0
    ports:
      - "9200"
      - "9300"
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - VIRTUAL_HOST=$DDEV_HOSTNAME
      - HTTP_EXPOSE=9200
      - node.max_local_storage_nodes=20
    ulimits:
      memlock:
        soft: -1
        hard: -1
    labels:
      com.ddev.site-name: ${DDEV_SITENAME}
      com.ddev.approot: $DDEV_APPROOT
    volumes:
      - elasticsearch:/usr/share/elasticsearch/data
      - ".:/mnt/ddev_config"
  web:
    links:
      - elasticsearch:elasticsearch

volumes:
  elasticsearch:
    name: "${DDEV_SITENAME}-elasticsearch"

所以,当我运行 ddev start 时,容器没有启动,因为我已经从 5.6 迁移到 6.8.0

输出

OpenJDK 64 位服务器 VM 警告:选项 UseConcMarkSweepGC 在 9.0 版中已弃用,并且可能会在未来版本中删除。 OpenJDK 64 位服务器 VM 警告:此 CPU 不支持 UseAVX=2,将其设置为 UseAVX=1 [2020-03-04T17:32:31,770][WARN][oebElasticsearchUncaughtExceptionHandler] [uncaught] 线程 [main] 中未捕获的异常] org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: 无法在 org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-6.8.0.jar:6.8.0 创建节点环境] 在 org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-6.8.0.jar:6.8.0] 在 org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~ [elasticsearch-6.8.0.jar:6.8.0] 在 org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.8.0.jar:6.8.0] 在 org.elasticsearch .cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.8.0.jar:6.8.0] 在 org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) ~[elasticsearch- 6.8.0.jar:6.8.0] 在 org.elasticsear ch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.8.0.jar:6.8.0] 导致:java.lang.IllegalStateException:无法在 org.elasticsearch.node.Node 创建节点环境.(Node.java:299) ~[elasticsearch-6.8.0.jar:6.8.0] 在 org.elasticsearch.node.Node.(Node.java:266) ~[elasticsearch-6.8.0.jar:6.8。 0] 在 org.elasticsearch.bootstrap.Bootstrap$5.(Bootstrap.java:212) ~[elasticsearch-6.8.0.jar:6.8.0] 在 org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:212) ~[elasticsearch-6.8.0.jar:6.8.0] 在 org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.8.0.jar:6.8.0] 在 org.elasticsearch。 bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-6.8.0.jar:6.8.0] ... 6 导致:java.nio.file.AccessDeniedException:/usr/share/elasticsearch/data /nodes/1 at sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) ~[?:?] at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]在 sun.nio.fs .UnixException.rethrowAsIOException(UnixException.java:116) ~[?:?] at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:389) ~[?:?] at java.nio.file.Files.createDirectory (Files.java:692) ~[?:?] 在 java.nio.file.Files.createAndCheckIsDirectory(Files.java:799) ~[?:?] 在 java.nio.file.Files.createDirectories(Files.java :785) ~[?:?] 在 org.elasticsearch.env.NodeEnvironment.lambda$new$0(NodeEnvironment.java:273) ~[elasticsearch-6.8.0.jar:6.8.0] 在 org.elasticsearch.env。 NodeEnvironment$NodeLock.(NodeEnvironment.java:206) ~[elasticsearch-6.8.0.jar:6.8.0] at org.elasticsearch.env.NodeEnvironment.(NodeEnvironment.java:270) ~[elasticsearch-6.8.0.jar :6.8.0] 在 org.elasticsearch.node.Node.(Node.java:296) ~[elasticsearch-6.8.0.jar:6.8.0] 在 org.elasticsearch.node.Node.(Node.java:266) ) ~[elasticsearch-6.8.0.jar:6.8.0] 在 org.elasticsearch.bootstrap.Bootstrap$5.(Bootstrap.java:212) ~[elasticsearch-6.8.0.jar:6.8.0] 在 org.elasticsearch .bootstrap.Bootstrap.setup(Bootstrap.java :212) ~[elasticsearch-6.8.0.jar:6.8.0] 在 org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.8.0.jar:6.8.0] 在 org .elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-6.8.0.jar:6.8.0]

顺便说一句,我正在使用 docker compose 3.6 版,因为 ddev 最新版本强制您使用它

你收到这个错误

.8.0.jar:6.8.0] ... 6 more Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes/1 at

这意味着您有一些权限问题,请检查文件的权限

    - elasticsearch:/usr/share/elasticsearch/data
      - ".:/mnt/ddev_config"

也许您还需要重新创建或迁移数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM