安装ElasticSearch和Kibana

​#ElasticSearch#​ #Kibana#

一、安装ElasticSearch

单节点

1.创建Docker网络

docker network create elastic

2.创建Elasticsearch 容器

docker run -d --name es01 --net elastic -p 9200:9200 -it -m 1GB -e ELASTIC_PASSWORD=elastic docker.elastic.co/elasticsearch/elasticsearch:9.2.3

-d:代表后台运行

-e ELASTIC_PASSWORD=elastic:代表设置密码为"elastic",文章后续$ELASTIC_PASSWORD都代表"elastic"

  • 复制生成的elastic密码和注册令牌。这些凭据仅在您首次启动 Elasticsearch 时显示。您可以使用以下命令重新生成凭据。

    docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
    docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
    
  • 我们建议将elastic密码存储为 shell 的环境变量。例如:

    export ELASTIC_PASSWORD="your_password"
    

3.http_ca.crt将SSL 证书从容器复制到本地计算机。

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

用于在curl请求中指定证书,否则请求会被拦截。

4.向 Elasticsearch 发出 REST API 调用,以确保 Elasticsearch 容器正在运行。

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

添加更多节点

1.使用现有节点为新节点生成注册令牌。

docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node

注册令牌有效期为 30 分钟。

2.启动一个新的 Elasticsearch 容器。将注册令牌作为环境变量添加到容器中。

[1] 最新的

docker run -d -e ENROLLMENT_TOKEN="<token>" --name es02 --net elastic -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:9.2.3

[2] 特定版本

使用与之前拉取的 Docker 镜像相同的 Elastic Stack 版本号,并将<SPECIFIC.VERSION.NUMBER>其替换为该版本号。

docker run -e ENROLLMENT_TOKEN="<token>" --name es02 --net elastic -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:<SPECIFIC.VERSION.NUMBER>

3.调用cat nodes API来验证节点是否已添加到集群中。

curl --cacert http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200/_cat/nodes

二、运行Kibana

1.启动Kibana

docker run -d --name kib01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:9.2.3

Kibana启动时,会在终端输出一个唯一的链接。要访问Kibana,请在网页浏览器中打开此链接。

链接示例:http://0.0.0.0:5601/?code=173887⁠

2.在浏览器中输入启动 Elasticsearch 时生成的注册令牌。

要重新生成令牌,请运行:

docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

3.使用 启动 Elasticsearch 时生成的密码 作为用户名登录 Kibana:上文的密码为“elastic/elastic”。

要重新生成密码,请运行:

docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

4.如何设置kibana的语言为中文

官网文档:https://www.elastic.co/guide/en/kibana/current/i18n-settings-kb.html

方式一:在 /usr/share/kibana/config/kibana.yml 尾部添加一行配置即可 (7.0 版本后)。

#冒号后必须加空格
i18n.locale: "zh-CN"

方式二:启动时增加环境变量I18N_LOCALE=zh-CN

kibana:
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
- I18N_LOCALE=zh-CN