Docker ddev和x2B的问题;elasticsearch最新版本
我在尝试在DDEV上启动ES容器时遇到一些问题 我已下载并进行了一些更改(版本、最大节点等),如您所见:Docker ddev和x2B的问题;elasticsearch最新版本,docker,elasticsearch,file-permissions,ddev,Docker,elasticsearch,File Permissions,Ddev,我在尝试在DDEV上启动ES容器时遇到一些问题 我已下载并进行了一些更改(版本、最大节点等),如您所见: version: '3.6' services: elasticsearch: container_name: ddev-${DDEV_SITENAME}-elasticsearch hostname: ${DDEV_SITENAME}-elasticsearch image: elasticsearch:6.8.0 ports: - "920
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警告:不支持UseAVX=2
在此CPU上,将其设置为UseAVX=1[2020-03-04T17:32:31770][警告
][o.e.b.ElasticsearchUncaughtExceptionHandler][未知]未捕获
线程[main]中出现异常
org.elasticsearch.bootstrap.StartupException:
java.lang.IllegalStateException:无法在创建节点环境
org.elasticsearch.bootstrap.elasticsearch.init(elasticsearch.java:163)
~(elasticsearch-6.8.0.jar:6.8.0)at
org.elasticsearch.bootstrap.elasticsearch.execute(elasticsearch.java:150)
~(elasticsearch-6.8.0.jar:6.8.0)at
org.elasticsearch.cli.environmentawerecommand.execute(environmentawerecommand.java:86)
~(elasticsearch-6.8.0.jar:6.8.0)at
org.elasticsearch.cli.Command.main不带外部错误处理(Command.java:124)
~[elasticsearch-cli-6.8.0.jar:6.8.0]at
org.elasticsearch.cli.Command.main(Command.java:90)
~[elasticsearch-cli-6.8.0.jar:6.8.0]at
org.elasticsearch.bootstrap.elasticsearch.main(elasticsearch.java:116)
~(elasticsearch-6.8.0.jar:6.8.0)at
org.elasticsearch.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)at
org.elasticsearch.node.node.(node.java:266)
~(elasticsearch-6.8.0.jar:6.8.0)at
bootstrap$5.(bootstrap.java:212)
~(elasticsearch-6.8.0.jar:6.8.0)at
org.elasticsearch.bootstrap.bootstrap.setup(bootstrap.java:212)
~(elasticsearch-6.8.0.jar:6.8.0)at
org.elasticsearch.bootstrap.bootstrap.init(bootstrap.java:333)
~(elasticsearch-6.8.0.jar:6.8.0)at
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)
~[?:?]at
sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
~[?:?]at
UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:389)
~[?:?]位于java.nio.file.Files.createDirectory(Files.java:692)~[?:?]
在java.nio.file.Files.createAndCheckIsDirectory(Files.java:799)
~[?:?]位于java.nio.file.Files.createDirectory(Files.java:785)
~[?:?]at
org.elasticsearch.env.NodeEnvironment.lambda$new$0(NodeEnvironment.java:273)
~(elasticsearch-6.8.0.jar:6.8.0)at
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)at
org.elasticsearch.node.node.(node.java:296)
~(elasticsearch-6.8.0.jar:6.8.0)at
org.elasticsearch.node.node.(node.java:266)
~(elasticsearch-6.8.0.jar:6.8.0)at
bootstrap$5.(bootstrap.java:212)
~(elasticsearch-6.8.0.jar:6.8.0)at
org.elasticsearch.bootstrap.bootstrap.setup(bootstrap.java:212)
~(elasticsearch-6.8.0.jar:6.8.0)at
org.elasticsearch.bootstrap.bootstrap.init(bootstrap.java:333)
~(elasticsearch-6.8.0.jar:6.8.0)at
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"
可能您还需要先重新创建或迁移数据,这不是Dockerfile。它是一个docker compose代码段,用于将自定义服务添加到DDEV Local。docker compose版本不是3.6,而是compose文件版本。我知道所有不同的版本都令人困惑。但以下是有关撰写文件版本的信息:-Dockerfile用于构建docker映像(完全不同的主题),请参见,您也可以从解释为什么需要使用elasticsearch 6.8开始。我将首先删除由此创建的docker卷,可能名为“ddev-_elasticsearch”
docker volume ls | grep elasticsearch
并使用docker volume rm
将其删除。@rfay我正在将drupal与ES集成,我知道主要区别,这只是我在写问题时的一个打字错误