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

首先拉取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.mzph.cn/bicheng/32713.shtml

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

相关文章

【吊打面试官系列-Mysql面试题】视图有哪些优点?

大家好&#xff0c;我是锋哥。今天分享关于 【视图有哪些优点&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 视图有哪些优点&#xff1f; 答&#xff1a; (1) 视图能够简化用户的操作&#xff1b; (2) 视图使用户能以多种角度看待同一数据&#xff1b; (3) 视…

【C#】使用数字和时间方法ToString()格式化输出字符串显示

在C#编程项目开发中&#xff0c;几乎所有对象都有格式化字符串方法&#xff0c;其中常见的是数字和时间的格式化输出多少不一样&#xff0c;按实际需要而定吧&#xff0c;现记录如下&#xff0c;以后会用得上。 文章目录 数字格式化时间格式化 数字格式化 例如&#xff0c;保留…

【docker1】指令,docker-compose,Dockerfile

文章目录 1.pull/image&#xff0c;run/ps&#xff08;进程&#xff09;&#xff0c;exec/commit2.save/load&#xff1a;docker save 镜像id&#xff0c;不是容器id3.docker-compose&#xff1a;多容器&#xff1a;宿主机&#xff08;eth0网卡&#xff09;安装docker会生成一…

4、SpringMVC 实战小项目【加法计算器、用户登录、留言板、图书管理系统】

SpringMVC 实战小项目 3.1 加法计算器3.1.1 准备⼯作前端 3.1.2 约定前后端交互接⼝需求分析接⼝定义请求参数:响应数据: 3.1.3 服务器代码 3.2 ⽤⼾登录3.2.1 准备⼯作3.2.2 约定前后端交互接⼝3.2.3 实现服务器端代码 3.3 留⾔板实现服务器端代码 3.4 图书管理系统准备后端 3…

【电路笔记】-共发射极放大器

共发射极放大器 文章目录 共发射极放大器1、概述2、完整的CEA配置3、直流等效电路4、交流等效电路5、输入阻抗6、输出阻抗7、电压增益8、微分电容的重要性9、信号源的衰减10、电流增益11、相位反转12、总结1、概述 在本文中,我们将介绍基于双极晶体管的放大器的最后一种拓扑:…

2024 WaniCTF repwn 部分wp

lambda 文本编辑器打开附件 稍微格式化一下 结合gpt理解题目意思。 脚本 home 附件拖入ida 简单的检查环境和反调试&#xff0c;进构造flag的函数 简单的ollvm&#xff0c;用d810嗦一下 下断点调试&#xff0c;通过修改eip跳过反调试。查看dest内容&#xff0c;需要稍微向下翻一…

QT中利用动画弄一个侧边栏窗口,以及贴条效果

1、效果 2、关键代码 void Widget::on_sliderBtn_clicked() {m_sliderWidget->show();QPropertyAnimation* animation = new QPropertyAnimation(m

第14章. GPIO简介

目录 0. 《STM32单片机自学教程》专栏 14.1 GPIO基本结构 14.1.1 保护二极管 14.1.2 上拉、下拉电阻 14.1.3 施密特触发器 14.1.4 P-MOS 管和 N-MOS 管 14.1.5 输出数据寄存器 14.1.6 输入数据寄存器 14.2 GPIO工作模式 14.2.1 输入模式 14.2.1.1 输入浮空模式 1…

ABB机器人教程:工具载荷与有效载荷数据自动标定操作方法

目录 概述 工具载荷自动标定前的准备工作 进入载荷识别服务例行程序 工具载荷识别与标定操作 有效载荷识别与标定操作要点 4轴码垛类型机器人载荷数据标定说明 概述 在使用ABB机器人前需要正确标定一些关键数据&#xff0c;其中就包含载荷数据。理论上讲&#xff0c;安装…

issues.sonatype.org网站废弃,Maven仓库账号被废弃问题解决

问题起因&#xff1a; 今天自己的项目发布了一个新版本&#xff0c;打算通过GitHub流水线直接推送至Maven中央仓库&#xff0c;结果发现报错 401&#xff0c;说我的账号密码认证失败。我充满了疑惑我寻思难度我的号被盗掉了吗。于是我打开Nexus Repository Manager尝试登录账号…

【b站-湖科大教书匠】2 物理层-计算机网络微课堂

课程地址&#xff1a;【计算机网络微课堂&#xff08;有字幕无背景音乐版&#xff09;】 https://www.bilibili.com/video/BV1c4411d7jb/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 2 物理层 2.1 物理层的基本概念 2.2 物理层下面的传输媒…

Android Studio 安卓手机上实现火柴人动画(Java源代码—Python)

android:layout_marginLeft“88dp” android:layout_marginTop“244dp” android:text“Python” android:textSize“25sp” app:layout_constraintStart_toStartOf“parent” app:layout_constraintTop_toTopOf“parent” /> </androidx.constraintlayout.widget.…

卤货商家配送小程序商城是怎样的模式

无论生意大小、打造品牌都是必要的一步&#xff0c;只要货品新鲜、味道高、性价比高&#xff0c;其新客转化/老客复购数量都不少&#xff0c;卤货种类多且复购多个单独/聚会场景&#xff0c;以同城主要经营&#xff0c;也有部分品牌有外地食品配送需要。 想要进一步品牌传播、…

Linux PXE高效批量装机

部署PXE远程安装服务 在大规模的 Linux 应用环境中&#xff0c;如 Web 群集、分布式计算等&#xff0c;服务器往往并不配备光驱设备&#xff0c;在这种情况下&#xff0c;如何为数十乃至上百台服务器裸机快速安装系统呢?传统的USB光驱、移动硬盘等安装方法显然已经难以满足需…

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

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

一文详解去噪扩散概率模型(DDPM)

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…

Django之云存储(二)

一、Django使用云存储 建立项目 django-admin startproject project_demo创建子应用 python manage.py startapp app_name修改配置文件,设置模板视图路径 settings.py TEMPLATES = [{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [os.path.join(BASE_DIR,…

Ike-scan一键发现通过互联网的IPsec VPN服务器(KALI工具系列二十八)

目录 1、KALI LINUX 简介 2、Ike-scan工具简介 3、信息收集 3.1 目标主机IP&#xff08;服务器&#xff09; 3.2 KALI的IP 4、操作示例 4.1 简单扫描 4.2 范围扫描 4.3 扫描多个目标 4.4 输出扫描结果 4.5 特殊扫描 5、总结 1、KALI LINUX 简介 Kali Linux 是一个功…

基于Vue-cli脚手架搭建项目使用ElementUI组件

项目结构 node_modules 项目依赖的外部组件文件放在此处,例如vue public index.html是对外提供的唯一的html文件 src assets 存放静态文件 例如图片 css js等文件 components 里面存放的是组件 App.vue是组件 main.js是项目配置文件 package.json存放的是项目依赖的…

IEEE RAL 具有高运动性能的仿旗鱼机器人协同运动机制研究

水下机器人作为军用侦察、监测及攻击装置备受关注&#xff0c;目前传统水下机器人普遍采用螺旋桨作为推进器&#xff0c;但高噪音、高能耗等问题限制了应用范围。鱼类通过自然选择进化出优异的运动性能&#xff0c;特别是在海洋中游动速度快、机动性强的旗鱼。为了探究快速和高…