ElasticSearch:环境搭建

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

前言

写一下 ElasticSearch 的基本教程。

实现

ElasticSearch搭建

下载镜像

# 下载ElasticSearch镜像
docker pull elasticsearch:7.14.0

创建容器并启动

# 创建并启动ElasticSearch容器
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搭建

下载镜像

# 下载kibana镜像
docker pull kibana:7.14.0

注:

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

创建容器并启动

# 创建kibana容器并启动
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:

# 查看ElasticSearch容器ID
docker ps

# 查看ElasticSearch容器IP
docker inspect container_id

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

# 查看kibana容器ID
docker ps

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

3. 重启 kibana 服务:

# 重启kibana容器
docker restart c02

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

设置密码

注:

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

设置ElasticSearch密码

1. 进入容器内部:

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

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

# 开启xpack
xpack.security.enabled: true

3. 重启 ElasticSearch 容器:

# 重启ES容器
docker restart 925

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

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

在容器内部设置密码:

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

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

设置kibana密码

1. 进入容器内部:

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

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

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

3. 重启 kibana 容器:

# 重启kibana容器
docker restart c02

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

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

总结

ElasticSearch 和 kibana 的环境搭建。