ElasticSearch:环境搭建

郎家岭伯爵 2024年05月07日 810次浏览

前言

写一下 ElasticSearch 的基本教程。

实现

ElasticSearch搭建

下载镜像

  1. # 下载ElasticSearch镜像
  2. docker pull elasticsearch:7.14.0

创建容器并启动

  1. # 创建并启动ElasticSearch容器
  2. docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" --name es_langjialing elasticsearch:7.14.0
  • -d 后台启动容器。
  • -p 9200:9200 将端口映射出来。ElasticSearch 的9200端口是供外部访问使,9300端口是供内部访问使用集群间通讯。
  • -e "discovery.type=single-node" 单节点启动。
  • -e ES_JAVA_OPTS="-Xms256m -Xmx256m" 限制容器内存大小。ElasticSearch 服务占用内存是比较大的,最好限制下内存,否则很可能把资源吃满
  • -–name 给容器起一个别名。

访问9200端口

访问 9200 端口显示 ElasticSearch 信息,ElasticSearch 服务启动成功!

kibana搭建

下载镜像

  1. # 下载kibana镜像
  2. docker pull kibana:7.14.0

注:

  • kibana 的版本和 ElasticSearch 的版本最好保持一致,避免因版本导致兼容问题。这里我们使用的都是 7.14.0 版本。

创建容器并启动

  1. # 创建kibana容器并启动
  2. docker run -d -p 5601:5601 --name kibana_langjialing kibana:7.14.0

访问5601端口

初次访问 5601 端口时提示如下信息:

配置ES服务的IP

这是因为需要“告诉” kibana 去连接哪台 ElasticSearch 服务器,因此需要在 kibana 配置文件中配置下 ElasticSearch 的 IP 信息。

1. 查看 ElasticSearch 容器的 IP:

  1. # 查看ElasticSearch容器ID
  2. docker ps

  3. # 查看ElasticSearch容器IP
  4. docker inspect container_id

2. 在 kibana 容器内的配置文件中配置 IP:

  1. # 查看kibana容器ID
  2. docker ps

  3. # 进入kibana容器内部
  4. docker exec -it c02 bash

3. 重启 kibana 服务:

  1. # 重启kibana容器
  2. docker restart c02

4. 再次访问 5601 端口,成功进入 kibana:

设置密码

注:

  • 密码不设置也是可以使用的,在生产环境下通常会设置密码

设置ElasticSearch密码

1. 进入容器内部:

  1. # 进入ES容器内部
  2. docker exec -it 925 bash

2. 在 config 目录下找到 elasticsearch.yml 文件,并添加如下配置:

  1. # 开启xpack
  2. xpack.security.enabled: true

3. 重启 ElasticSearch 容器:

  1. # 重启ES容器
  2. docker restart 925

4. 再次进入 ElasticSearch 容器,并配置密码:

  1. # 进入ES容器内部
  2. docker exec -it 925 bash

在容器内部设置密码:

  1. # 执行ES生成密码的命令,重置ES各账号的密码
  2. ./bin/elasticsearch-setup-passwords interactive

5. 访问 9200 端口,需要验证登录,输出账号后成功登录:

设置kibana密码

1. 进入容器内部:

  1. # 进入kibana容器内部
  2. docker exec -it c02 bash

2. 在 config 目录下找到 kibana.yml 文件,并添加如下配置:

  1. # 设置ES的用户名和密码
  2. elasticsearch.username: elastic
  3. elasticsearch.password: "123456"

3. 重启 kibana 容器:

  1. # 重启kibana容器
  2. docker restart c02

4. 访问 5601 端口,验证登录,输入账号密码后正常访问:

至此,我们已完成 ElasticSearch 和 kibana 环境的基本搭建。

总结

ElasticSearch 和 kibana 的环境搭建。