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

news2025/1/13 17:32:58

首先拉取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部署流程的理解,也为构建高效搜索应用打下了坚实的基础。现在,你的搜索引擎平台已准备就绪,随时可以应对各类数据分析与日志管理挑战。继续探索,让数据为你讲述更多故事!
更多内容请关注以下公众号
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1854011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Spring Boot]Netty-UDP客户端

文章目录 简述Netty-UDP集成pom引入ClientHandler调用 消息发送与接收在线UDP服务系统调用 简述 最近在一些场景中需要使用UDP客户端进行&#xff0c;所以开始集成新的东西。本文集成了一个基于netty的SpringBoot的简单的应用场景。 Netty-UDP集成 pom引入 <!-- netty --…

Adaboost集成学习 | Adaboost集成学习特征重要性分析(Python)

目录 效果一览基本介绍模型设计程序设计参考资料效果一览 基本介绍 Adaboost集成学习特征重要性分析(Python)Adaboost(自适应增强)是一种常用的集成学习方法,用于提高机器学习算法的准确性。它通过组合多个弱分类器来构建一个强分类器。在Adaboost中,每个弱分类器都被赋予…

电子电气架构——由NRC优先级引起的反思

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

【论文精读】分类扩散模型:重振密度比估计(Revitalizing Density Ratio Estimation)

文章目录 一、文章概览&#xff08;一&#xff09;问题的提出&#xff08;二&#xff09;文章工作 二、理论背景&#xff08;一&#xff09;密度比估计DRE&#xff08;二&#xff09;去噪扩散模型 三、方法&#xff08;一&#xff09;推导分类和去噪之间的关系&#xff08;二&a…

shell的正则表达式

一、正则表达式&#xff1a;匹配的是文本内容&#xff08;文本三剑客&#xff1a;grep&#xff1a;过滤文本内容 sed&#xff1a;针对文本内容进行增删改查 awk&#xff1a;按行取列&#xff09; 二、grep&#xff1a;过滤 1.grep&#xff1a;过滤文本内容&…

基于协方差信息的Massive MIMO信道估计算法性能研究

1. 引言 随着移动互联网不断发展&#xff0c;人们对通信的速率和可靠性的要求越来越高[1]。目前第四代移动通信系统已经逐渐商用&#xff0c;研究人员开始着手研究下一代移动通信系统相关技术[2][3]。在下一代移动通信系统中要求下行速率达到10Gbps&#xff0c;这就要求我们使…

秋招突击——第八弹——Redis是怎么运作的

文章目录 引言正文Redis在内存中是怎么存储的面试重点 Redis是单线程还是多线程面试重点 内存满了怎么办&#xff1f;面试重点 持久化介绍面试重点 RDB持久化面试重点 AOF日志面试重点 总结 引言 差不多花了两天把redis给过了&#xff0c;早上也只背了一半&#xff0c;完成回去…

【database1】mysql:DDL/DML/DQL,外键约束/多表/子查询,事务/连接池

文章目录 1.mysql安装&#xff1a;存储&#xff1a;集合&#xff08;内存&#xff1a;临时&#xff09;&#xff0c;IO流&#xff08;硬盘&#xff1a;持久化&#xff09;1.1 服务端&#xff1a;双击mysql-installer-community-5.6.22.0.msi1.2 客户端&#xff1a;命令行输入my…

<router-view />标签的理解

< router-view />标签的理解 < router-view />用来承载当前级别下的子集路由的一个视图标签。显示当前路由级别下一级的页面。 App.vue是根组件&#xff0c;在它的标签里使用&#xff0c;而且配置好路由的情况下&#xff0c;就能在浏览器上显示子组件的效果。 如…

模拟算法讲解

模拟算法是一种基于实际情况模拟的算法&#xff0c;通过模拟现实世界中的系统或过程&#xff0c;来研究它们的性质和行为。模拟算法可以用于解决各种问题&#xff0c;包括物理模拟、经济模拟、社会模拟等。 模拟算法的基本步骤包括&#xff1a; 定义问题&#xff1a;明确需要模…

用Java获取键盘输入数的个十百位数

这段Java代码是一个简单的程序&#xff0c;用于接收用户输入的一个三位数&#xff0c;并将其分解为个位、十位和百位数字&#xff0c;然后分别打印出来。下面是代码的详细解释&#xff1a; 导入所需类库: import java.util.Scanner;&#xff1a;导入Scanner类&#xff0c;用于从…

已解决java.util.concurrent.BrokenBarrierException异常的正确解决方法,亲测有效!!!

已解决java.util.concurrent.BrokenBarrierException异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 出现问题的场景 报错原因 解决思路 解决方法 分析错误日志 检查线程中断 设置合理的等待时间 优化代码逻辑 使用同步…

登录安全分析报告:链家地产

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞 …

【SpringCloud】负载均衡(Spring Cloud LoadBalancer)

负载均衡 当服务流量增大时&#xff0c;通常会采用增加机器的方式进行扩容。负载均衡就是用来在多个机器或者其他资源中&#xff0c;按照一定的规则合理分配负载。其中的实现可以分成客户端负载均衡和服务端负载均衡。 服务端负载均衡 在服务端进行负载均衡的算法分配。 比…

【CSS in Depth2精译】1.2 继承~1.3 特殊值

文章目录 1.2 继承1.3 特殊值1.3.1 inherit 关键字1.3.2 initial 关键字1.3.3 unset 关键字1.3.4 revert 关键字 1.2 继承 除了层叠&#xff0c;还有一种给元素设置样式的方式&#xff1a;继承。经常有人把层叠与继承的概念弄混淆。它们虽然有关联&#xff0c;但也应该分辨清楚…

mysql中in参数过多该如何优化

优化方式概述 未优化前 SELECT * FROM rb_product rb where sku in(1022044,1009786)方案2示例 public static void main(String[] args) {//往list里面设置3000个值List<String> list new ArrayList<>();for (int i 0; i < 3000; i) {list.add(""…

聚焦AIoT最后一公里:EasyCVR+AI视频技术在各领域的创新应用

随着5G、AI、边缘计算、物联网&#xff08;IoT&#xff09;、云计算等技术的快速发展&#xff0c;万物互联已经从概念逐渐转变为现实&#xff0c;全新的行业生态AIoT正在开启新时代。巨大的市场潜力与AI等新兴技术不断融合形成的庞大市场缺口&#xff0c;深度场景化应用落地诉求…

express+vue 在线五子棋(一)

示例 在线体验地址五子棋&#xff0c;记得一定要再拉个人才能对战 本期难点 1、完成了五子棋的布局&#xff0c;判断游戏结束 2、基本的在线对战 3、游戏配套im(这个im的实现&#xff0c;请移步在线im) 下期安排 1、每步的倒计时设置 2、黑白棋分配由玩家自定义 3、新增旁观…

YOLOv9摄像头或视频实时检测

1、下载yolov9的项目 地址&#xff1a;YOLOv9 2、使用下面代码进行检测 import torch import cv2 from models.experimental import attempt_load from utils.general import non_max_suppression, scale_boxes from utils.plots import plot_one_box# 加载预训练的YOLOv9模型…

机器人学习和研究的物质基础包含哪些内容?

为啥写这个&#xff1f; 在很多博客里面提及物质基础&#xff0c;没想到询问的也非常多&#xff0c;写一篇详细一点的。 之前的故事 不合格且失败机器人讲师个人理解的自身课程成本情况-CSDN博客 迷失自我无缘多彩世界-2024--CSDN博客 物质基础与情绪稳定的关系-CSDN博客 …