Docker 安装 ElasticSearch 和 Kibana

本贴最后更新于 469 天前,其中的信息可能已经事过景迁

一、前言

本篇博客主要记录了我安装最新版的 ElasticSearch Kibana 的过程。我的操作系统是 Arch Linux,使用 Docker 来安装,相较于 7.x 版本,8.x 版本增加了一些安全配置,安装过程会更复杂一些,所以写了这篇博客来记录一下,希望可以帮到有需要的朋友。

二、安装配置 Elasticsearch

2.1 创建网络

docker network create elastic

2.2 安装 Elasticsearch

前置条件

创建 /etc/sysctl.conf 配置文件,设置 vm.max_map_count 值为 262144 (如果不这样做,直接运行 Elasticsearch 容器会报错: max virtual memory areas vm.max\_map\_count [65530] is too low, increase to at least [262144])。

# 创建sysctl.conf
sudo nvim /etc/sysctl.conf
# 添加以下内容
vm.max_map_count=262144
# 刷新配置
sudo sysctl -p 

Elasticsearch 容器创建指令:

docker run --name es --net elastic -p 9200:9200 -itd -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.9.2

需注意一点,如果是使用 Docker Desktop,需要设置至少 4G 的内存:
image

设置方式如下:

image

2.3 配置

2.3.1 重置密码

启动 ElasticSearch 的时候会默认生成一个密码,但是不方便记住,可以通过下面的指令,重置密码

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

建议将自己创建的密码,配置到环境变量中 export ELASTIC_PASSWORD="your_password"

2.3.2 复制 SSL 证书
docker cp es:/usr/share/elasticsearch/config/certs/http_ca.crt .
2.3.2 验证是否配置成功

输入下面的指令,使用 SSL 证书和密码访问 ElasticSearch

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

终端输出如下图所示,则说明配置成功了!

image

三、安装配置 Kibana

需要注意一点,Kibana 最好和 ElasticSearch 使用一样的版本。

3.1 安装 Kibana

docker run --name kib --net elastic -p 5601:5601 -itd docker.elastic.co/kibana/kibana:8.9.2 

3.2 配置 Kibana

第一次使用 Kibana 的时候,会提示需要 enrollment token

image

在启动 ElasticSearch 的时候,会自动生产一个 enrollment token,可以通过 docker logs -f es 来查看,也可以通过下面的指令,生成一个新的 enrollment token

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

将 enrollment token 复制到刚才的提示框里,然后会提示需要输入验证码,可以使用 docker logs -f kib 来查看验证码。

image

3.3 登录 Kibana

经过上面的配置后,就进入了登录界面:

image

这里需要输入账户名和密码,账户名就是 elastic ,密码是之前配置的,输入完成后,点击登录按钮就可以进入 Kibana 管理界面了。

image

四、参考

  1. Elsatic 官方文档
  2. Install EalsticSearch with Docker
  3. Install Kibana with Docker
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 208 关注
  • Kibana
    2 引用 • 4 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...