Elasticsearch8 - Docker安装Elasticsearch8.12.2

news2024/12/27 1:57:30

前言

最近在学习 ES,所以需要在服务器上装一个单节点的 ES

服务器环境:centos 7.9

安装

下载镜像

目前最新版本是 8.12.2

docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.2

创建配置

新增配置文件 elasticsearch.yml

http.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.security.enabled: true

解释一下,前三行是开启远程访问和跨域,最后一行是开启密码访问

Networking | Elasticsearch Guide [8.12] | Elastic

创建数据挂载目录

在宿主机创建容器的挂载目录,我的目录如下

/home/elasticsearch
├── config
│ ├── analysis-ik
│ └── elasticsearch.yml
├── data
└── plugins

上一节说的配置文件 elasticsearch. yml 放在 /home/elasticsearch/config/elasticsearch. yml

创建 config/analysis-ik 、data、plugins 目录

这里需要重点说下 analysis-ik 文件夹,这是用来存放 ik 分词器的配置文件的目录,里面的文件由容器创建,所以需要分配与容器相同的权限(相同的用户)

不知道怎么弄的看以下步骤

# 启动临时的docker容器
docker run --name es01  -e "discovery.type=single-node" -t docker.elastic.co/elasticsearch/elasticsearch:8.12.2
# 查看用户
ps -ef | grep elasticsearch
# 查看用户id
id 用户名
# 删除临时的docker容器
docker kill es01 && docker rm es01
# 修改文件夹权限(uid就是用户id,自行替换)
sudo chown -R uid:uid /home/elasticsearch/config/analysis-ik

启动 docker 容器

docker run --privileged=true --name elasticsearch \
-p 9200:9200  -p 9300:9300  \
-e "discovery.type=single-node"  \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /home/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/elasticsearch/config/analysis-ik:/usr/share/elasticsearch/config/analysis-ik \
-v /home/elasticsearch/data:/usr/share/elasticsearch/data  \
-v /home/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d docker.elastic.co/elasticsearch/elasticsearch:8.12.2

-e ES_JAVA_OPTS="-Xms 64 m -Xmx 128 m" 是指定 jvm 大小,参见 Manually set the heap size

安装 ik 分词器

# 进入docker容器
docker exec -it elasticsearch /bin/bash
# 安装ik分词器(此命令要在容器内执行)
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.12.2/elasticsearch-analysis-ik-8.12.2.zip

如果安装 ik 分词器时报错并且出现 Permission denied 字样,那就是 analysis-ik 文件夹的权限没有配置正确。

安装完成之后别急着退出容器,往下看

初始化密码

# 此命令要在容器内执行
./bin/elasticsearch-setup-passwords interactive

设置 ik 分词器自定义用户词典

修改 /home/elasticsearch/config/analysis-ik/IKAnalyzer.cfg.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典 -->
	<entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic</entry>
	 <!--用户可以在这里配置自己的扩展停止词字典-->
	<entry key="ext_stopwords">custom/ext_stopword.dic</entry>
 	<!--用户可以在这里配置远程扩展字典 -->
	<entry key="remote_ext_dict">location</entry>
 	<!--用户可以在这里配置远程扩展停止词字典-->
	<entry key="remote_ext_stopwords">http://xxx.com/xxx.dic</entry>
</properties>

例如 custom/mydict.dic,那么文件就存放在 /home/elasticsearch/config/analysis-ik/custom/mydict. dic

记得分配读写权限,不然容器没法去读取

总结

本文介绍了 elasticsearch 8.12.2 的安装和 ik 分词器的安装。最后推荐一个连接 ES 的工具 es-client

es-head 已经停止更新了,有坑,快跑。

最后再 bb 一句,es-client 也有坑,查询请用 POST,因为 GET 方式没法携带请求 body

参考资料

史上最详细Docker安装Elasticsearch、ik分词器、可视化工具,每一步都带有步骤图!!!

神坑:ElasticSearch8集群启动报错“Device or resource busy”(Docker方式)_/usr/share/elasticsearch/config/elasticsearch.yml

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

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

相关文章

Linux常见指令解析一

Linux常见指令解析一 常见指令1. ls 指令2.pwd 命令3.cd 命令4.touch 命令5.mkdir 命令6.rmdir指令 && rm 指令7.man 指令8.cp 指令9.cat 命令 && tac 命令10.mv 指令11.more 指令12.less 指令13.head 指令14.tail 指令15.cal 指令 常见指令 1. ls 指令 语法…

无损压缩:制作200KB以下JPEG格式图片的实用技巧

在上传图片到社交媒体平台时&#xff0c;通常有文件大小限制&#xff0c;将图片大小限制在200KB以下可确保上传成功&#xff0c;并避免降低图片质量&#xff0c;而且在网页设计中&#xff0c;为了确保快速加载速度&#xff0c;特别是对于移动设备用户&#xff0c;限制页面上的图…

SpringBoot + MyBatisPlus分页查询

文章目录 1.思路分析2.分页查询后端实现1.com/sun/furn/config/MybatisConfig.java 注入MyBatisPlus分页拦截器2.com/sun/furn/controller/FurnController.java 添加方法3.postman测试 3.分页查询前端实现1.src/views/HomeView.vue 引入分页导航条组件2.src/views/HomeView.vue…

2024年Web前端面试题(最全、最详细、持续更新)

文章目录 24年面试题面试题总结JS相关数组拉平WebSocketjs汇总 Vue相关React相关React 18react汇总useState更新是否异步setTimout 里 setStatetypescript 其他问题浏览器如何缓存文件http常见状态码http、https的区别ES6 模块与 CommonJS 模块的差异如何捕获代码错误设计模式和…

面试八股——redis——缓存——缓存穿透、击穿、雪崩

HR&#xff1a;你在项目中的那些场景用到了redis&#xff1f; 1. 缓存穿透问题 &#xff08;项目中使用的方法&#xff09; 2. 缓存击穿 解决办法1&#xff1a;加互斥锁。大量并发时&#xff0c;先让一个人去查&#xff0c;其他人等着。这样剩下人就可在缓存直接获取值。&#…

Bayes-RF,基于贝叶斯Bayes优化算法优化随机森林RF数据回归预测(多输入单输出)-MATLAB实现

Bayesian optimization 是一种用于调节机器学习模型超参数的方法&#xff0c;而随机森林 (Random Forest, RF) 是一种强大的机器学习算法&#xff0c;常用于回归和分类任务。将它们结合起来可以提高模型性能&#xff0c;这就是 Bayes-RF 的基本思想。 下面是一个基于贝叶斯优化…

【Java程序设计】【C00364】基于Springboot的美发管理系统(有论文)

基于Springboot的美发管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 项目获取 &#x1f345;文末点击卡片获取源码&#x1f345; 开发环境 运行环境&#xff1a;推荐jdk1.8&#xff1b; 开发工具&#xff1a;eclipse以及idea&…

Transformer的前世今生 day06(Self-Attention和RNN、LSTM的区别)

Self-Attention和RNN、LSTM的区别 RNN的缺点&#xff1a;无法做长序列&#xff0c;当输入很长时&#xff0c;最后面的输出很难参考前面的输入&#xff0c;即长序列会缺失上文信息&#xff0c;如下&#xff1a; 可能一段话超过50个字&#xff0c;输出效果就会很差了 LSTM通过忘…

Spring Security之认证过滤器

前言 上回我们探讨了关于Spring Security&#xff0c;着实复杂。这次咱们聊的认证过滤器就先聊聊认证功能。涉及到多方协同的功能&#xff0c;咱分开聊。也给小伙伴喘口气&#xff0c;嘻嘻。此外也是因为只有登录认证了&#xff0c;才有后续的更多功能集成的可能。 认证过滤器…

MySQL高可用解决方案――从主从复制到InnoDB Cluster架构

2024送书福利正式起航 关注「哪吒编程」&#xff0c;提升Java技能 文末送5本《MySQL高可用解决方案――从主从复制到InnoDB Cluster架构》 大家好&#xff0c;我是哪吒。 爱奇艺每天都为数以亿计的用户提供7x24小时不间断的视频服务。通过爱奇艺的平台&#xff0c;用户可以…

由浅到深认识Java语言(23):System类

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

智达方通全面预算管理系统,为企业带来更可靠的交付

对于几乎所有企业来说&#xff0c;确定提供哪些产品或服务、如何制定销售计划和配备业务以及平衡定价和预算成本以获得持续上升的利润是最基础的工作&#xff0c;对这些基础工作的评估过程可以直接决定企业未来的成功与否。然而&#xff0c;在如今这个数据激增、高速运转的新经…

【简单无脑】自动化脚本一键安装虚拟机下的MySQL服务

虚拟机安装MySQL服务 MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS)。可以在Linux操作系统下运行&#xff0c;支持多种引擎和标准的SQL语言&#xff0c;是大数据学习中和虚拟机配置中至关重要的一项服务。 但是MySQL在虚拟机中的安装步骤十分复杂繁琐&#xff0c;博…

典型内存溢出场景

说说几种典型的导致内存溢出的情况&#xff1a; 1.线程池导致内存溢出。 使用Executors.newFixedThreadPool(10);创建的线程池对象使用的工作队列是一个无上限的队列&#xff0c;队列数没有上限&#xff0c;任务数过多&#xff0c;导致队列塞满&#xff0c;内存溢出 使用了Ex…

星云小窝项目1.0——项目介绍(一)

星云小窝项目1.0——项目介绍&#xff08;一&#xff09; 文章目录 前言1. 介绍页面2. 首页2.1. 游客模式2.2. 注册用户后 3. 星云笔记3.1. 星云笔记首页3.2. 星云笔记 个人中心3.2. 星云笔记 系统管理3.3. 星云笔记 文章展示3.3. 星云笔记 新建文章 4. 数据中心5. 交流评论6. …

GPT模型部署后续:聊天机器人系统的扩展与优化

一、多轮对话支持 为了实现多轮对话支持&#xff0c;我们需要维护用户的会话上下文。这可以通过在服务器端使用一个字典来存储会话状态实现。 目录 一、多轮对话支持 下面是一个简单的扩展例子&#xff1a; 二、性能优化 三、用户界面与交互优化 下面是一个简单的HTML示例&…

springboot3使用​自定义注解+Jackson优雅实现接口数据脱敏

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途 目录 写在前面 内容简介 实现思路 实现步骤 1.自定义脱敏注解 2.编写脱敏策略枚举类 3.编写JSON序列化实现 4.编写测…

数据在内存里的存储(1)【整数在内存中的存储】【什么是大小端】

一.整数在内存里的存储 我们都知道&#xff0c;关于整数的二进制表示方法有三种&#xff0c;原码&#xff0c;反码和补码。而正数的原码&#xff0c;反码&#xff0c;补码都相等。而负数的表示方法各不相同。原码&#xff1a;直接将数值按照正负数的形式翻译成二进制得到的就是…

【Unity】uDD插件抓屏文字显示不清晰怎么办?

【背景】 之前介绍过用一款简称uDD&#xff08;uDesktopDuplication&#xff09;的开源插件抓取电脑桌面。整体效果不错&#xff0c;看电影很流畅。但是当切换到文档&#xff0c;或者仔细看任何UI的文字部分时&#xff0c;发现就模糊了。 【分析】 由于是依托于Canvas上的Te…

备考的秘密武器:一招清除笔迹,试卷、表格再利用!

擦除试卷笔迹的功能可以用于多种场合&#xff0c;尤其适用于教育领域和文档管理工作。以下是一些具体的应用场景&#xff1a; 教学复习&#xff1a;教师可以使用这个功能来清除已批改的试卷上的笔迹&#xff0c;以便重复使用试卷进行讲解或作为模板设计新的题目。 资料归档&a…