1.安装ES
- 拉取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
- 配置文件
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
- 查看日志
docker logs elasticsearch
注意:查看日志可能报错,但不影响
- 安装成功后
7.安装ik分词器
- 进入docker容器
docker exec -it elasticsearc /bin/bash
- 创建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中进行,可以在挂载的地方进行
- 解压
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
其中,用户权限分别如下:
elastic 账号:拥有 superuser 角色,是内置的超级用户。
kibana 账号:拥有 kibana_system 角色,用户 kibana 用来连接 elasticsearch 并与之通信。Kibana 服务器以该用户身份提交请求以访问集群监视 API 和 .kibana 索引。不能访问 index。
logstash_system 账号:拥有 logstash_system 角色。用户 Logstash 在 Elasticsearch 中存储监控信息时使用。