使用docker-compose部署搜索引擎ElasticSearch6.8.10

背景

Elasticsearch 是一个开源的分布式搜索和分析引擎,基于 Apache Lucene 构建。它被广泛用于实时数据搜索、日志分析、全文检索等应用场景。 Elasticsearch 支持高效的全文搜索,并提供了强大的聚合功能,可以处理大规模的数据集并进行快速搜索和分析。 Elasticsearch 可用于构建各种类型的应用程序,例如电商网站的商品搜索、新闻网站的文章搜索、企业内部的日志分析和监控等。

本文通过 Docker 容器化方式并基于一个 Elasticsearch 旧版本 6.8.10 来安装,新版的 ElasticSearch 8.0的安装操作可参考:将最新版的ElasticSearch8与Kibana8在CentOS7上跑起来。另外,2024年11月的软考系统架构设计师考试在案例题中考察了 ElasticSearch 分布式全文搜索中间件,这个考察相对有深度,不仅仅是简单的使用,而是与分词相关的内容。

系统环境

[root@ops ~]# uname -a
Linux ops 5.10.0-182.0.0.95.oe2203sp3.x86_64 #1 SMP Sat Dec 30 13:10:36 CST 2023 x86_64 x86_64 x86_64 GNU/Linux
[root@ops ~]# cat /proc/version
Linux version 5.10.0-182.0.0.95.oe2203sp3.x86_64 (root@dc-64g.compass-ci) (gcc_old (GCC) 10.3.1, GNU ld (GNU Binutils) 2.37) #1 SMP Sat Dec 30 13:10:36 CST 2023

配置服务

  • docker-compose.yml
  my-elasticsearch:image: elasticsearch:6.8.10container_name: my-elasticsearchenvironment:ES_JAVA_OPTS: -Djava.net.preferIPv4Stack=true -Xms1g -Xmx1gtransport.host: 0.0.0.0discovery.zen.minimum_master_nodes: 1discovery.zen.ping.unicast.hosts: elasticsearchTZ: Asia/Shanghaivolumes:- ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml- ./elasticsearch/data:/usr/share/elasticsearch/data- ./elasticsearch/logs:/usr/share/elasticsearch/logs- ./elasticsearch/plugins:/usr/share/elasticsearch/pluginsports:- "9200:9200"- "9300:9300"
  • elasticsearch.yml
# 设置Elasticsearch节点的发现类型为单节点
discovery.type: "single-node"
# 尝试锁定内存,以防止被交换到磁盘
bootstrap.memory_lock: true
# Elasticsearch在所有可用网络接口上侦听,可以从任何地址访问
network.host: 0.0.0.0
# Elasticsearch HTTP API的监听端口
http.port: 9200
# Elasticsearch节点之间通信的TCP端口
transport.tcp.port: 9300
# Elasticsearch日志文件的输出路径
path.logs: /usr/share/elasticsearch/logs
# 启用跨域资源共享(CORS)支持
http.cors.enabled: true
# 允许来自任何源的跨域请求
http.cors.allow-origin: "*"
# 启用Elasticsearch安全性功能
xpack.security.enabled: true
# 允许包含 Authorization 头的跨域请求
http.cors.allow-headers: Authorization
# 启用节点之间传输层安全性(TLS/SSL)
xpack.security.transport.ssl.enabled: true
# 启用监控收集
xpack.monitoring.collection.enabled: true

部署服务

在启动之前,先创建好对应的目录,并给予执行权限

mkdir -p /opt/docker/elasticsearch/config
mkdir -p /opt/docker/elasticsearch/data
mkdir -p /opt/docker/elasticsearch/logs
mkdir -p /opt/docker/elasticsearch/pluginschown -R root:root elasticsearch
chmod 777 -R elasticsearch

docker-compose -f docker-compose.yml up -d my-elasticsearch

修改密码

安全起见,所有的基础服务都开启认证并配置密码,进入容器,通过以下命令设置密码。

# 进入容器
docker exec -it my-elasticsearch /bin/bash
# 设置密码
elasticsearch-setup-passwords interactive

交互式设置密码,具体执行结果如下。

[root@svc docker]# docker exec -it my-elasticsearch /bin/bash
[root@0a204f9b5762 elasticsearch]# elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]yEnter password for [elastic]: 
Reenter password for [elastic]: 
Enter password for [apm_system]: 
Reenter password for [apm_system]: 
Enter password for [kibana]: 
Reenter password for [kibana]: 
Enter password for [logstash_system]: 
Reenter password for [logstash_system]: 
Enter password for [beats_system]: 
Reenter password for [beats_system]: 
Enter password for [remote_monitoring_user]: 
Reenter password for [remote_monitoring_user]: 
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]

验证服务

在浏览器中验证 Elasticsearch 6.8.10 的安装情况,由于前面我们开启了 Elasticsearch 的认证,因此首先需要在浏览器弹窗框( HTTPBasic )里输入认证信息。

2024-12-01-ElasticSearch.jpg

  • 查看节点健康状态:http://192.168.44.168:9200/_cat/health?v
  • 查看节点索引:http://192.168.44.168:9200/_cat/indices?v
  • 查看索引内容:http://192.168.44.168:9200/索引名称/_search?pretty

离线操作

如果是离线环境部署,则需要先在有网络的环境下拉取镜像,然后通过 docker save elasticsearch:6.8.10 -o elasticsearch.tar 完成镜像导出,最后在目标主机上离线加载上一步导出的镜像。

# 离线导入镜像
[root@svc opt]# docker load -i elasticsearch.tar 
edf3aa290fb3: Loading layer [==================================================>]  211.1MB/211.1MB
066109abe451: Loading layer [==================================================>]  359.6MB/359.6MB
83b86c34afe7: Loading layer [==================================================>]  73.86MB/73.86MB
6e851073edad: Loading layer [==================================================>]  379.4kB/379.4kB
cb11836a653d: Loading layer [==================================================>]  241.1MB/241.1MB
d40f4cc2180f: Loading layer [==================================================>]   7.68kB/7.68kB
5e35467de158: Loading layer [==================================================>]  9.728kB/9.728kB
Loaded image: elasticsearch:6.8.10# 查看已有镜像
[root@svc opt]# docker images
REPOSITORY             TAG         IMAGE ID       CREATED         SIZE
redis                  6-alpine    4100b5bd1743   7 weeks ago     35.5MB
nginx                  1.25.3      a8758716bb6a   13 months ago   187MB
openjdk                8-jre       0c14a0e20aa3   2 years ago     274MB
elasticsearch          6.8.10      ffa00077159c   4 years ago     877MB

如果需要重新构建、更新服务,可通过以下命令实现。

docker stop my-elasticsearch
docker rm my-elasticsearch
docker-compose -f docker-compose.yml up -d my-elasticsearch

小总结

上述内容介绍了如何在 OpenEuler 系统上使用 Docker 容器化方式部署 ElasticSearch 6.8.10 版本。文章涵盖了完整的部署流程,包括环境配置、 docker-composeelasticsearch 的配置文件编写、目录权限设置、密码安全配置、服务验证方法以及离线部署操作等内容。同时,还附上了之前撰写的一系列从入门到集群部署的 ElasticSearch 相关文章链接,为大家提供一个完整的学习路径。

附:以前写的关于 ElasticSearch 的内容,包含 ElasticSearch8.0 分布式搜索引擎集群及其高可用测试。

  • ElasticSearch入门(一)单节点初体验
  • ElasticSearch入门(二)批量导入数据(Postman与Kibana)
  • ElasticSearch入门(三)Logstash实现MySQL数据同步至ElasticSearch
  • ElasticSearch入门(四)常用插件:Head插件与ik分词器
  • ElasticSearch入门(五)SpringBoot2.3.0集成ElasticSearch7.5.2-HighLevelClient
  • ElasticSearch入门(六)SpringBoot2.3.0集成ElasticSearch7.5.2-SpringData
  • ElasticSearch入门(七)搭建ElasticSearch集群
  • 在华为鲲鹏openEuler20.03系统上安装ElasticSearch
  • 将最新版的ElasticSearch8与Kibana8在CentOS7上跑起来
  • 全栈开发之ElasticSearch8.0分布式搜索引擎集群及其高可用测试

Reference

  • https://www.cnblogs.com/handsometaoa/p/17988216

If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!

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

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

相关文章

Zabbix 模板翻译自动化教程

在企业 IT 运维管理中,Zabbix 作为一款强大的开源监控平台被广泛应用。而 Zabbix 模板作为监控配置的重要组成部分,用来定义监控项、触发器、图形等。随着国际化的需求增加,Zabbix 模板的翻译工作变得日益重要,特别是在需要为不同…

Springboot小知识(1):启动类与配置

一、启动类(引导类) 在通常情况下,你创建的Spring应用项目都会为你自动生成一个启动类,它是这个应用的起点。 在Spring Boot中,引导类(也称为启动类,通常是main方法所在的类)是整个…

数据集-目标检测系列- 海边漫步锻炼人检测数据集 person >> DataBall

数据集-目标检测系列- 海边漫步锻炼人检测数据集 person >> DataBall DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 需要更多数据资源和技术解决方案,知识星球: “DataBall - X 数据球…

NLP信息抽取大总结:三大任务(带Prompt模板)

信息抽取大总结 1.NLP的信息抽取的本质?2.信息抽取三大任务?3.开放域VS限定域4.信息抽取三大范式?范式一:基于自定义规则抽取(2018年前)范式二:基于Bert下游任务建模抽取(2018年后&a…

手机中的核心SOC是什么?

大家好,我是山羊君Goat。 常常听说CPU,中央处理器等等的,它是一个电脑或单片机系统的核心,但是对于SOC可能相比于CPU了解的人没有那么广泛。 所以SOC是什么? SOC全称是System on Chip,就是片上系统&#…

网络--socket编程--基础

1、网络字节序 已知:内存中的很多数据都有大小端之分,在网络这,网络数据流也是有大小端之分的。 TCP/IP协议规定:网络数据流采用大端字节序(即低地址处放高位字节)。 因此,小端机器发送网络数据流之前,必须转为大端(一般的机器会自动转换): 在网络-本地字节序转换…

Transformers在计算机视觉领域中的应用【第1篇:ViT——Transformer杀入CV界之开山之作】

目录 1 模型结构2 模型的前向过程3 思考4 结论 论文: AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE 代码:https://github.com/google-research/vision_transformer Huggingface:https://github.com/huggingf…

<数据集>路面坑洼识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:665张 标注数量(xml文件个数):665 标注数量(txt文件个数):665 标注类别数:1 标注类别名称:[pothole] 序号类别名称图片数框数1pothole6651740 使用标注工具&#x…

PySide6 QSS(Qt Style Sheets) Reference: PySide6 QSS参考指南

Qt官网参考资料: QSS介绍: Styling the Widgets Application - Qt for Pythonhttps://doc.qt.io/qtforpython-6/tutorials/basictutorial/widgetstyling.html#tutorial-widgetstyling QSS 参考手册: Qt Style Sheets Reference | Qt Widge…

07.ES11 08.ES12

7.1、Promise.allSettled 调用 allsettled 方法&#xff0c;返回的结果始终是成功的&#xff0c;返回的是promise结果值 <script>//声明两个promise对象const p1 new Promise((resolve, reject) > {setTimeout(() > {resolve("商品数据 - 1");}, 1000)…

qt QGraphicsRotation详解

1、概述 QGraphicsRotation 是 Qt 框架中 QGraphicsTransform 的一个子类&#xff0c;它专门用于处理图形项的旋转变换。通过 QGraphicsRotation&#xff0c;你可以对 QGraphicsItem&#xff08;如形状、图片等&#xff09;进行旋转操作&#xff0c;从而创建动态和吸引人的视觉…

Unity Plane API解释

构造函数解释&#xff0c;d的解释为&#xff1a;距离是沿着平面法线从平面到原点的距离。注意&#xff0c;这意味着为正值的distance值将导致平面朝向原点。负的距离值会导致平面朝向远离原点。 试验&#xff1a; GetSide方法检测点是否位于平面的正向侧&#xff0c;结果显示…

通讯专题4.1——CAN通信之计算机网络与现场总线

从通讯专题4开始&#xff0c;来学习CAN总线的内容。 为了更好的学习CAN&#xff0c;先从计算机网络与现场总线开始了解。 1 计算机网络体系的结构 在我们生活当中&#xff0c;有许多的网络&#xff0c;如交通网&#xff08;铁路、公路等&#xff09;、通信网&#xff08;电信、…

深度学习模型:LSTM (Long Short-Term Memory) - 长短时记忆网络详解

一、引言 在深度学习领域&#xff0c;循环神经网络&#xff08;RNN&#xff09;在处理序列数据方面具有独特的优势&#xff0c;例如语音识别、自然语言处理等任务。然而&#xff0c;传统的 RNN 在处理长序列数据时面临着严重的梯度消失问题&#xff0c;这使得网络难以学习到长…

算法笔记:力扣24. 两两交换链表中的节点

思路&#xff1a; 本题最简单的就是通过递归的形式去实现 class Solution {public ListNode swapPairs(ListNode head) {if(head null || head.next null){return head;}ListNode next head.next;head.next swapPairs(next.next);next.next head;return next;} } 对于链…

ehr系统建设方案,人力资源功能模块主要分为哪些,hrm平台实际案例源码,springboot人力资源系统,vue,JAVA语言hr系统(源码)

eHR人力资源管理系统&#xff1a;功能强大的人力资源管理工具 随着企业规模的不断扩大和业务需求的多样化&#xff0c;传统的人力资源管理模式已无法满足现代企业的需求。eHR人力资源管理系统作为一种先进的管理工具&#xff0c;能够为企业提供高效、准确、实时的人力资源管理。…

【Android】从事件分发开始:原理解析如何解决滑动冲突

【Android】从事件分发开始&#xff1a;原理解析如何解决滑动冲突 文章目录 【Android】从事件分发开始&#xff1a;原理解析如何解决滑动冲突Activity层级结构浅析Activity的setContentView源码浅析AppCompatActivity的setContentView源码 触控三分显纷争&#xff0c;滑动冲突…

OGRE 3D----2. QGRE + QQuickView

将 OGRE(面向对象图形渲染引擎)集成到使用 QQuickView 的 Qt Quick 应用程序中,可以在现代灵活的 UI 框架中提供强大的 3D 渲染功能。本文将指导您如何在 QQuickView 环境中设置 OGRE。 前提条件 在开始之前,请确保您已安装以下内容: Qt(版本 5.15 )OGRE(版本14.2.5)…

GAGAvatar: Generalizable and Animatable Gaussian Head Avatar 学习笔记

1 Overall GAGAvatar&#xff08;Generalizable and Animatable Gaussian Avatar&#xff09;&#xff0c;一种面向单张图片驱动的可动画化头部头像重建的方法&#xff0c;解决了现有方法在渲染效率和泛化能力上的局限。 旋转参数 现有方法的局限性&#xff1a; 基于NeRF的方…

论文笔记-WWW2024-ClickPrompt

论文笔记-WWW2024-ClickPrompt: CTR Models are Strong Prompt Generators for Adapting Language Models to CTR Prediction ClickPrompt: CTR模型是大模型适配CTR预测任务的强大提示生成器摘要1.引言2.预备知识2.1传统CTR预测2.2基于PLM的CTR预测 3.方法3.1概述3.2模态转换3.…