实战指南:部署Elasticsearch 8.4.1与Kibana 8.4.1并集成IK分词器

13 篇文章 0 订阅
5 篇文章 0 订阅

首先拉取elasticsearch和kibana镜像

docker pull elasticsearch:8.4.1
docker pull kibana:8.4.1

如果遇到镜像拉去不下来,遇到如下问题:

[ERROR] error pulling image configuration: Get "
https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/d9/d938dda2c6698adc94f7fdfd5ea8dafda26277d26b9b8f1
67407107648b09678/data?verify=1718723835-otFxVzLAZoGY8jD6gkUl4LzyxRU%3D": dial tcp 128.242.240.20:443: connect: connection refused

需要修改下doker的镜像配置文件,一般在/etc/docker/daemon.json文件中,添加以下文件:

"registry-mirrors": 
["https://p8dc1q6z.mirror.aliyuncs.com",
"https://docker.m.daocloud.io", 
"https://noohub.ru", 
"https://huecker.io",
"https://dockerhub.timeweb.cloud" ]

镜像拉取成功后,我们自定义个网络,以后启动就基于该网络就好了,

docker network create elastic

详细解释:

docker: 这是Docker命令行工具的命令前缀,用于与Docker守护进程交互,执行各种容器管理和系统配置任务。

network create: 这是Docker命令中的一个子命令,用于创建一个新的网络。Docker网络是用来连接容器的虚拟网络,可以让容器之间以及容器与宿主机之间的通信更加灵活和安全。Docker提供了几种网络类型,包括桥接网络(默认)、主机网络、overlay网络以及自定义网络等。

elastic: 这是你要创建的网络的名称。在Docker中,网络名称是唯一的,用于标识和引用特定的网络。选择elastic可能是为了表明这个网络将用于连接Elasticsearch相关的容器或者其他需要弹性网络配置的服务。命名网络使得管理和服务发现变得更加直观。

下面我们就可以启动elasticsearch镜像了,

docker run --name elasticsearch --net elastic -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e CLI_JAVA_OPTS="-Xms512m -Xmx512m" \
-v esplugins:/usr/share/elasticsearch/plugins \
-it elasticsearch:8.4.1

参数解释:

docker run: 这个命令用于启动一个新的容器。

–name elasticsearch: 指定容器的名称为elasticsearch,便于后续引用和管理。

–net elastic: 指定容器加入名为elastic的网络,这个网络应该事先通过docker network create elastic命令创建。这样做可以更好地控制容器间的网络连接和隔离。

-p 9200:9300 -p 9200:9200: 映射容器的端口到宿主机的端口。这里有一个小错误,应该是-p 9200:9200 -p 9300:9300,分别将容器的9200端口(HTTP接口)和9300端口(TCP通信端口)映射到宿主机的相同端口,允许外部访问Elasticsearch服务。

-e “discovery.type=single-node”: 设置环境变量,指定Elasticsearch的发现类型为单节点模式。这适用于仅用于开发、测试或不需要集群功能的场景。

-e CLI_JAVA_OPTS=“-Xms512m -Xmx512m”: 这里有一点误导,正确的环境变量应该是ES_JAVA_OPTS而不是CLI_JAVA_OPTS,用于设置Java虚拟机的初始堆内存和最大堆内存。正确的设置应为-e ES_JAVA_OPTS=“-Xms512m -Xmx512m”,意在限制Elasticsearch使用的Java堆内存大小为最小512MB,最大512MB。

-v esplugins:/usr/share/elasticsearch/plugins: 使用卷挂载,将宿主机上的esplugins目录挂载到容器内的/usr/share/elasticsearch/plugins目录。这允许在宿主机上持久化存储Elasticsearch的插件,并且可以在容器重启时保持插件安装状态。

-it: 使容器的标准输入保持打开,并且分配一个伪TTY,通常用于需要交互的容器。但在运行服务容器(如Elasticsearch)时,这个选项并不常用,因为Elasticsearch作为一个后台服务运行,通常不需要伪TTY。对于服务容器,可以去掉-t选项,只保留-i如果确实需要持续的标准输入。

elasticsearch:8.4.1: 指定使用的镜像名称及标签,这里是版本8.4.1的Elasticsearch官方镜像。

在启动前我们需要登录阿里云服务器开放9200,9300端口;

首次启动,我们可以看到一下日志:

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-> 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`):
  -oc15dGPo8Qb=aCNqtS5

->  HTTP CA certificate SHA-256 fingerprint:
  65dcf3b509f5f7a578a6dbf7f2c4dd011566b80832fd6193f5a6eb60c6f5d43a

->  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):
  eyJ2ZXIiOiI4LjQuMSIsImFkciI6WyIxNzIuMTguMC4yOjkyMDAiXSwiZmdyIjoiNjVkY2YzYjUwOWY1ZjdhNTc4YTZkYmY3ZjJjNGRkMDExNTY2YjgwODMyZmQ2MTkzZjVhNmViNjBjNmY1ZDQzYSIsImtleSI6IkUtTGJSSkFCdzJsQ19kRW80RWM2Oi1KQm8yQ2hfUnFtOUZlbW5rVVZKR3cifQ==

-> 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):
  eyJ2ZXIiOiI4LjQuMSIsImFkciI6WyIxNzIuMTguMC4yOjkyMDAiXSwiZmdyIjoiNjVkY2YzYjUwOWY1ZjdhNTc4YTZkYmY3ZjJjNGRkMDExNTY2YjgwODMyZmQ2MTkzZjVhNmViNjBjNmY1ZDQzYSIsImtleSI6IkZlTGJSSkFCdzJsQ19kRW80RWQxOnhIak40b1lUUUo2WFFXWUFxZlZ0QXcifQ==

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

在这里插入图片描述
在这里我们看到登录的用户名和密码:user= elastic password=-oc15dGPo8Qb=aCNqtS5;这个需要记好,还有日志中的token也一样,我们会在登录kibana中要用到,启动成功后,我们可以访问下elasticsearch的地址:服务器id:9200;输入日志中的用户名和密码
在这里插入图片描述
在这里插入图片描述
出现以上界面我们就把elasticsearch8.4.1安装好了。

上面我们已经把kibana镜像拉取下来了,下面我们来安装kibana,输入一下命令启动kibana,等待启动。


docker run --name kibana --net elastic -p 5601:5601 kibana:8.4.1

[root@iZf8zetnft7hz51hguyhg4Z ~]# docker run --name kibana --net elastic -p 5601:5601 kibana:8.4.1
[2024-06-23T11:40:34.194+00:00][INFO ][node] Kibana process configured with roles: [background_tasks, ui]
[2024-06-23T11:40:53.697+00:00][INFO ][http.server.Preboot] http server running at http://0.0.0.0:5601
[2024-06-23T11:40:53.736+00:00][INFO ][plugins-system.preboot] Setting up [1] plugins: [interactiveSetup]
[2024-06-23T11:40:53.738+00:00][INFO ][preboot] "interactiveSetup" plugin is holding setup: Validating Elasticsearch connection configuration…
[2024-06-23T11:40:53.772+00:00][INFO ][root] Holding setup until preboot stage is completed.


i Kibana has not been configured.

Go to http://0.0.0.0:5601/?code=722225 to get started.

在这里插入图片描述从日志中我们可以看到kibana已经启动成功了,code需要记下,等会我们登录kibana也需要用的。下面我们来访问下:服务器地址:5601;当我们登录时会遇到下面界面:
在这里插入图片描述这个token就是我们启动elasticsearch中的日志中的token,
在这里插入图片描述
输入之后,会看到以下界面,需要输入验证码,验证码就是我们启动kibana日志中的地址后缀code:
在这里插入图片描述
在这里插入图片描述

输入code码之后,就会出现以下界面了:
在这里插入图片描述
当加载完成,我们就来到了kibana登录界面了,
在这里插入图片描述
用户名和密码就是我们启动elasticsearch日志中的用户名和密码哦,输入用户名和密码就进入kibana界面了,如下所示:
在这里插入图片描述
修改密码我们可以使用命令行的形式也可以在kibana界面里修改,
命令行形式:


cd /usr/share/elasticsearch/
bin/elasticsearch-reset-password -u elastic -i

图形化界面形式:进行kibana主界面点开左边导航栏:找到stack Management
在这里插入图片描述

点击进入还是找左边导航栏,找到users模块,点击kibana,
在这里插入图片描述
点击进入找到change passwor进行修改就好了。

到此我们的kibana也启动好了,下面我们再来安装下ik分词器。

首先我们来安装下zip解压包,等会用它来解压ik分词器的压缩包;


sudo yum install zip unzip

进入进入到es的挂载目录 /var/lib/docker/volumes/esplugins/_data 使用 wget 命令,下载ik分词器

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.4.1/elasticsearch-analysis-ik-8.4.1.zip

解压以上压缩包

unzip -d ik elasticsearch-analysis-ik-8.4.1.zip

解压完成后,进入容器:

docker exec -it elasticsearch /bin/bash

在这里插入图片描述
退出容器,重新启动elasticsearch。

到此我们的elasticsearch8.4.1和kibana8.4.1就安装好了。

在本实战教程中,我们不仅解决了Docker镜像下载问题,通过配置镜像加速器顺利拉取了Elasticsearch与Kibana的最新镜像,还深入了解了如何自定义网络、优化容器启动参数,以及如何安全有效地启动这两个核心组件。进一步地,我们掌握了如何处理首次启动Elasticsearch时的安全配置信息,包括用户名密码和集群连接令牌,并成功应用这些信息于Kibana的配置与登录过程中。最后,我们还实践了IK分词器的安装步骤,确保了全文检索功能的完善。这一系列操作不仅加深了对Elasticsearch与Kibana部署流程的理解,也为构建高效搜索应用打下了坚实的基础。现在,你的搜索引擎平台已准备就绪,随时可以应对各类数据分析与日志管理挑战。继续探索,让数据为你讲述更多故事!
更多内容请关注以下公众号
在这里插入图片描述

  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

double_lifly

点喜欢就是最好的打赏!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值