docker 安装 elasticsearch:7.12.0

278 阅读1分钟

1.安装ES

  1. 拉取es镜像

docker pull elasticsearch:7.12.0

2.创建文件夹

mkdir -p /root/tools/elasticsearch/config

mkdir -p /root/tools/elasticsearch/data

mkdir -p /root/tools/elasticsearch/plugins

  1. 配置文件

echo "http.host: 0.0.0.0" >> /root/tools/elasticsearch/config/elasticsearch.yml

4.创建容器

docker run --name elasticsearch -p 9200:9200

-e "discovery.type=single-node"

-e ES_JAVA_OPTS="-Xms84m -Xmx512m"

-v /root/tools/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml

-v /root/tools/elasticsearch/data:/usr/share/elasticsearch/data

-v /root/tools/elasticsearch/plugins:/usr/share/elasticsearch/plugins

-d elasticsearch:7.12.0

  1. 查看日志

docker logs elasticsearch

注意:查看日志可能报错,但不影响

  1. 安装成功后

WX20221020-131753.png

7.安装ik分词器

  1. 进入docker容器

docker exec -it elasticsearc /bin/bash

  1. 创建ik目录

mkdir /usr/share/elasticsearch/plugins/ik

3.exit退出

4.将下载好的ik分词器复制到上面的ik目录下(ik分词器的版本要和ElasticSearch一致)

docker cp /root/tools/elasticsearch-analysis-ik-7.12.0.zip elasticsearch:/usr/share/elasticsearch/plugins/ik/

但是不建议这样,个人感觉可以在挂载的地方直接复制安装即可,上面一系列的操作可以不在docker中进行,可以在挂载的地方进行

  1. 解压

WX20221020-131839.png

6.最后删除这个安装包

8.配置账号密码

修改配置文件

vim /opt/es/elasticsearch-7.7.0/config/elasticsearch.yml

xpack.security.enabled: true

xpack.license.self_generated.type: basic

xpack.security.transport.ssl.enabled: true

执行设置用户名和密码的命令,这里需要为4个用户分别设置密码,elastic, kibana, logstash_system,beats_system ( 注意:此时要开启ES)

[root@localhost ~]# ./elasticsearch-setup-passwords interactive

截图.png

其中,用户权限分别如下:

elastic 账号:拥有 superuser 角色,是内置的超级用户。

kibana 账号:拥有 kibana_system 角色,用户 kibana 用来连接 elasticsearch 并与之通信。Kibana 服务器以该用户身份提交请求以访问集群监视 API 和 .kibana 索引。不能访问 index。

logstash_system 账号:拥有 logstash_system 角色。用户 Logstash 在 Elasticsearch 中存储监控信息时使用。