docker入门:单机elasticsearch安装记录,保

这是我参与 8 月更文挑战的第 10 天,活动详情查看: 8月更文挑战

用过传统方式安装elasticsearch的小伙伴都知道,有非常多的坑需要填。经常抛出莫名的异常,所以本篇楼主将自己安装单机elasticsearch过程记录下来,帮助小伙伴闭坑。

注意:kibana,es,es插件版本要相同

1.拉取镜像

1
复制代码docker pull elasticsearch:7.10.1

2.新建文件夹

同上文所述相同,需要在宿主机上挂载配置文件与数据文件。

1
2
bash复制代码mkdir -p /usr/local/elasticsearch/config
mkdir -p /usr/local/elasticsearch/data

3.修改配置文件

在中间价的安装中很多个性化设置需要自行修改。这里进入上文新建好的文件夹中。新增elasticsearch.yml文件。

1
2
bash复制代码cd /usr/local/elasticsearch/config/
vi elasticsearch.yml

elasticsearch.yml配置如下

1
2
3
4
5
6
7
yaml复制代码network.host: 0.0.0.0   
network.bind_host: 0.0.0.0 #外网可访问

http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.security.enabled: true # 这条配置表示开启xpack认证机制 spring boot连接使用
xpack.security.transport.ssl.enabled: true

xpack.security配置后,elasticsearch需要账号密码使用,建议安排上。如果使用springboot查询,那一定要设置,否者会报错!

4.启动

1
2
3
4
5
6
7
bash复制代码docker run -p 9200:9200 --name elasticsearch \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms1g -Xmx2g" \
-v /usr/local/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data \
-v /usr/local/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.10.1

参数解释:

  • -p 9200:9200 :指定端口号
  • –name elasticsearch \ :指定容器名称
  • -e “discovery.type=single-node” \ :单机模式
  • -e ES_JAVA_OPTS=”-Xms1g -Xmx2g” \ :指定内存
  • -v /usr/local/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ :指定config在宿主机位置
  • -v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data \ :指定数据在宿主机位置
  • -v /usr/local/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ :指定插件在宿主机位置
  • -d elasticsearch:7.10.1 :指定镜像

5.初始化密码

此项仅在上文xpack配置的情况下才需要执行,首先进入容器命令行,然后直行初始化命令:

执行

1
2
bash复制代码docker exec -it 容器id /bin/bash
bin/elasticsearch-setup-passwords interactive

然后依次输入密码(需要输入很多很多次,别挣扎了,输入吧!)

image.png

6.验证

访问ip:9200,如果上文开启了xpack.security,需要输入账号密码。

账号/密码:elastic/上文设置的密码

如果出现以下页面,则代表成功。
image.png

7.安装插件

1.安装

下载地址:github.com/medcl/elast… 主要需要选择与es相同版本

放于上文配置plugins路径,然后新建ik文件夹,将解压后的文件全部放于ik文件夹中。

image.png

重启docker容器

1
复制代码docker restart 556b198b7616

2.验证

重启后,请通过查询验证分词器是否生效。

1
2
3
4
5
sql复制代码GET _analyze?pretty
{
"analyzer": "ik_max_word",
"text": "我吃西红柿"
}

如果出现以下结果,则证明安装生效。

image.png

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%