【Docker容器】Docker安装ElasticSearch详细步骤(看这一篇就够啦!)
帮助有些小伙伴能快速学习的语法命令不至于在安装的时候卡住或者放弃,只要按照下面的安装步骤就可以快速启动一个es进行学习啦,话不多说直接开搞。
·
前言
帮助有些小伙伴能快速学习ElasticSearch
的语法命令不至于在安装的时候卡住或者放弃,只要按照下面的安装步骤就可以快速启动一个es进行学习啦,话不多说直接开搞。
安装Kibana
【Docker容器】Docker安装Kibana详细步骤(看完这一篇就够啦!)
安装 ES
1.访问镜像官网
https://hub.docker.com/
搜索elasticsearch
进行查找,选择合适的版本,这里选择 elasticsearch:8.2.0
。
楼主在写这篇文章的时候刚好这个国外的网站进不去,就没截图了。
2.找到对应的版本,复制右侧的命令即可。
#将命令放在Linux上敲击回车即可
docker pull elasticsearch:8.2.0
3.查看镜像
等拉取好了镜像之后,docker images
查看一下镜像是否拉取成功。
4.启动es
docker run -it elasticsearch:8.2.0 /bin/bash
先简单启动 看一下我们要挂载一些什么样的目录,这个不是我们最终的启动命令。通过ls
和pwd
命令我们大概知道了es的关键目录大概是以下三个。
- 存放配置相关的:/usr/share/elasticsearch/config
- 存放数据相关的:/usr/share/elasticsearch/data
- 存放插件相关的:/usr/share/elasticsearch/plugins
#退出容器
ctrl+c 或者 exit
最终构建容器命令
docker run \
--name es \
--privileged=true \
-p 9200:9200 \
-p 9300:9300 \
-v /mydata/es/config:/usr/share/elasticsearch/config \
-v /mydata/es/data:/usr/share/elasticsearch/data \
-v /mydata/es/plugins:/usr/share/elasticsearch/plugins \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-d elasticsearch:8.2.0
启动之后如果发现没成功启动容器,通过docker logs es
看到以下错误,那么就是咋们自己创建的挂载目录可能权限不够高。
Skipping security auto configuration because the configuration file [/usr/share/elasticsearch/config/elasticsearch.yml] is missing or is not a regular file
Exception in thread "main" java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config/jvm.options
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:218)
at java.base/java.nio.file.Files.newByteChannel(Files.java:380)
at java.base/java.nio.file.Files.newByteChannel(Files.java:432)
at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:422)
at java.base/java.nio.file.Files.newInputStream(Files.java:160)
at org.elasticsearch.tools.launchers.JvmOptionsParser.readJvmOptionsFiles(JvmOptionsParser.java:169)
at org.elasticsearch.tools.launchers.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:125)
at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:87)
给三个挂载目录进行chmod 777
chmod 777 /mydata/es/config
chmod 777 /mydata/es/data
chmod 777 /mydata/es/plugins
直接先启动一个简单的es容器
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:8.2.0
将容器里的config文件夹的东西拷贝到宿主机上
docker cp elasticsearch:/usr/share/elasticsearch/config /mydata/es
删除临时容器
docker stop elasticsearch
docker rm -f elasticsearch
修改elasticsearch.yml文件
vim /mydata/es/config/elasticsearch.yml
8.x以上好像都默认开启这个ssl校验,直接给他关掉。
重新启动完整命令
docker run \
--name es \
--privileged=true \
-p 9200:9200 \
-p 9300:9300 \
-v /mydata/es/config:/usr/share/elasticsearch/config \
-v /mydata/es/data:/usr/share/elasticsearch/data \
-v /mydata/es/plugins:/usr/share/elasticsearch/plugins \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-d elasticsearch:8.2.0
或者你前面已经启动了那个命令了,所以直接
docker start es
5.es访问界面
http://你的ip:9200
更多推荐
已为社区贡献5条内容
所有评论(0)