Elasticsearch 安装与配置

Elasticsearch 和 Kibana

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,Elasticsearch 会集中存储您的数据,让您飞快完成搜索,微调相关性,进行强大的分析,并轻松缩放规模。

Kibana 是一个开源的分析和可视化平台,它可以与 Elasticsearch 进行交互,为您提供实时的分析和可视化界面。Kibana 使您能够轻松地在 Elasticsearch 中搜索、查看和与数据交互。您可以使用 Kibana 为您的数据创建图表,地图和表格,并将这些内容与您的 Elasticsearch 数据一起共享。

本文主要安装单节点的 Elasticsearch 和 Kibana 作为开发环境,详细安装说明可参考 Elasticsearch 官方文档Kibana 官方文档

Docker 安装 Elasticsearch 和 Kibana

为 Elasticsearch 和 Kibana 创建一个网络

1
docker network create elastic

启动 Elasticsearch

1
docker run --name elasticsearch --net elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:8.5.3

或者

1
docker run --name elasticsearch --net elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" docker.elastic.co/elasticsearch/elasticsearch:8.5.3

其中,-e "discovery.type=single-node" 表示单节点启动,-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" 表示设置 JVM 内存大小。

需要在终端获取 Elasticsearch 的用户名为 elastic 的密码和 enrollment token,然后在 Kibana 中配置,否则无法访问。密码在启动日志中,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
✅ Elasticsearch security features have been automatically configured!
✅ Authentication is enabled and cluster connections are encrypted.

ℹ️ Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
Jz7ChQYdYd7Ee-r+BheF

ℹ️ HTTP CA certificate SHA-256 fingerprint:
35feb17b8d4c86daf4478d0e79225d870edfb8688ee4a18d2d3149113205c521

ℹ️ Configure Kibana to use this cluster:
• Run Kibana and click the configuration link in the terminal when Kibana starts.
• Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes):
eyJ2ZXIiOiI4LjUuMyIsImFkciI6WyIxNzIuMTkuMC4yOjkyMDAiXSwiZmdyIjoiMzVmZWIxN2I4ZDRjODZkYWY0NDc4ZDBlNzkyMjVkODcwZWRmYjg2ODhlZTRhMThkMmQzMTQ5MTEzMjA1YzUyMSIsImtleSI6IlN0MUFpb1VCWml3Nk5qd29sR0VsOlBCMzc3VlF1UllPTGc3emllSlhhSmcifQ==

ℹ️ Configure other nodes to join this cluster:
• Copy the following enrollment token and start new Elasticsearch nodes with `bin/elasticsearch --enrollment-token <token>` (valid for the next 30 minutes):
eyJ2ZXIiOiI4LjUuMyIsImFkciI6WyIxNzIuMTkuMC4yOjkyMDAiXSwiZmdyIjoiMzVmZWIxN2I4ZDRjODZkYWY0NDc4ZDBlNzkyMjVkODcwZWRmYjg2ODhlZTRhMThkMmQzMTQ5MTEzMjA1YzUyMSIsImtleSI6IlROMUFpb1VCWml3Nk5qd29sR0VxOjdLT0U4VVdTUktXZHIzS0RRQS1Ia2cifQ==

If you're running in Docker, copy the enrollment token and run:
`docker run -e "ENROLLMENT_TOKEN=<token>" docker.elastic.co/elasticsearch/elasticsearch:8.5.3`

可以复制 ttp_ca.crt 安全证书到本地:

1
docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .

然后通过终端连接 Elasticsearch:

1
curl --cacert http_ca.crt -u elastic https://localhost:9200

启动 Kibana

1
docker run --name kibana --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.5.3

日志显示如下则表示启动成功:

1
2
3
2023-01-07 11:31:44 i Kibana has not been configured.
2023-01-07 11:31:44
2023-01-07 11:31:44 Go to http://0.0.0.0:5601/?code=660670 to get started.

进入日志中链接即可进入 Kibana 配置页面,输入 enrollment token , 配置 Elasticsearch 用户名密码后即可访问 Kibana。


Elasticsearch 安装与配置
https://blog.lihangqi.top/2023/03/30/elasticsearch-kibana/
作者
凌洛
发布于
2023年3月30日
许可协议