docker安装ES过程中出现的问题

项目场景:

项目场景:音视频转码服务器集成es,在自己的服务器进行安装。最开始使用portainer可视化安装,但是在内存分配上并不如命令友好

安装流程:

按流程在docker对es进行pull,这儿我使用的版本是7.6.2的

docker pull elasticsearch:7.6.2

安装es,并对目录进行挂载

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -v /usr/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /usr/docker/elasticsearch/data:/usr/share/elasticsearch/data -v /usr/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.6.2

-e:设置环境变量
discovery.type=single-node 单节点启动
Xms84m Xmx512m 设置内存大小

报错

发现es启动后立即关闭
通过docker logs 容器id,发现报错日志

Likely root cause: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes

或者

Check if the specified host path exists and is the expected type.


原因分析:

这是因为data文件夹没有读写权限


解决方案:

chomd 777 挂载目录data文件夹路径 ,我的是/usr/docker/es/data

如果报错信息为elasticsearch.yml 是一个文件夹的话,那么手动删除这个文件夹,并且touch elasticsearch.yml
如果外网不能访问,在yml中添加路径(自行百度)
如果还是出问题,那么挂载yml的语句去掉,只对其他两个路径进行挂载

安装可视化界面

docker run --name kibana -v /usr/docker/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml -p 5601:5601 -d kibana:7.6.2

提示

kibana出现的错误可能与es中出现错误一样,那么都去掉yml挂载路径就行

安装ik分词器

下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.6.2

使用方式

1.将压缩包移动到容器,这儿我是将ik分词器放在/usr/plugins目录下的

docker cp /usr/plugins/elasticsearch-analysis-ik-7.6.2.zip elasticsearch:/usr/share/elasticsearch/plugins

2.进入容器,也可以直接进入挂载的目录进行操作

docker exec -it elasticsearch /bin/bash

3.创建目录

mkdir /usr/share/elasticsearch/plugins/ik

4.将文件压缩包移动到ik目录下

mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.6.2.zip /usr/share/elasticsearch/plugins/ik

5.进入目录解压

cd /usr/share/elasticsearch/plugins/ik
unzip elasticsearch-analysis-ik-7.7.0.zip

你可能感兴趣的:(es,docker,elasticsearch,java)