Elasticsearch - Docker安装Elasticsearch8.12.2

前言

最近在学习 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.rhkb.cn/news/280567.html

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

相关文章

EFcore的实体类配置

1 约定配置 约定大于配置&#xff0c;框架默认了许多实体类配置的规则&#xff0c;在约定规则不满足要求时&#xff0c;可以显示地定义规则 1 数据库表明在不指定的情况下&#xff0c;默认使用的是数据库上下文类【DBContext】中DbSet 的属性名&#xff1b; 2 数据库表列的名字…

笔记本8代i5和台式机12代i5的性能比较

一、 台式机12代i5 二、笔记本8代i5 在多核性能上差不多是2.4倍&#xff0c;所以跑大一点的Matlab或者别的程序&#xff0c;用台式机&#xff0c;后边实验室能用上超多核服务器另说。

SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)

文章目录 1.整合MyBatis1.需求分析2.数据库表设计3.数据库环境配置1.新建maven项目2.pom.xml 引入依赖3.application.yml 配置数据源4.Application.java 编写启动类5.测试6.配置类切换druid数据源7.测试数据源是否成功切换 4.Mybatis基础配置1.编写映射表的bean2.MonsterMapper…

JavaScript进阶:js的一些学习笔记-this指向,call,apply,bind,防抖,节流

文章目录 1. this指向1. 箭头函数 this的指向 2. 改变this的指向1. call()2. apply()3. bind() 3. 防抖和节流1. 防抖2. 节流 1. this指向 1. 箭头函数 this的指向 箭头函数默认帮我们绑定外层this的值&#xff0c;所以在箭头函数中this的值和外层的this是一样的箭头函数中的…

springcloud-Eureka注册中心

如果你要理解这个技术博客博客专栏 请先学习以下基本的知识&#xff1a; 什么是微服务什么是服务拆分什么是springcloud Springcloud为微服务开发提供了一个比较泛用和全面的解决框架&#xff0c;springcloud继承了spring一直以来的风格——不重复造轮子&#xff0c;里面很多的…

PyTorch 深度学习(GPT 重译)(六)

十四、端到端结节分析&#xff0c;以及接下来的步骤 本章内容包括 连接分割和分类模型 为新任务微调网络 将直方图和其他指标类型添加到 TensorBoard 从过拟合到泛化 在过去的几章中&#xff0c;我们已经构建了许多对我们的项目至关重要的系统。我们开始加载数据&#xf…

用css滤镜做颜色不同的数据卡片(背景图对于css滤镜的使用)

<template> <div class"xx_modal_maincon"><div class"xx_model_bt">履约起始日至计算日配额及履约情况</div><el-row><el-col :span"6"><div class"xx_modal_mod"><div class"mod…

【K3s】在 AWS EC2 上运行生产 K3s 集群

【K3s】在 AWS EC2 上运行生产 K3s 集群 本文将介绍如何在 AWS EC2 上运行 K3s。您将创建一个 EC2 实例并在 AWS 上运行单节点 K3s 集群。 自托管的 K3s 允许您在裸金属上运行 Kubernetes,并应用较小、低资源工作负载的原则。哦,你还可以控制你的控制平面。这有点像逃离托管…

基于Vue.js和D3.js的智能停车可视化系统

引言 随着物联网技术的发展&#xff0c;智能停车系统正逐渐普及。前端作为用户交互的主要界面&#xff0c;对于提供直观、实时的停车信息至关重要。 目录 引言 一、系统设计 二、代码实现 1. 环境准备 首先&#xff0c;确保您的开发环境已经安装了Node.js和npm。然后&…

代码学习第24天----回溯算法

随想录日记part24 t i m e &#xff1a; time&#xff1a; time&#xff1a; 2024.03.10 主要内容&#xff1a;回溯算法在代码学习中尤其重要&#xff0c;所以今天继续加深对其的理解&#xff1a;1&#xff1a;递增子序列 &#xff1b;2.全排列 &#xff1b;3.全排列II 491.递…

数学建模(熵权法 python代码 例子)

目录 介绍&#xff1a; 模板&#xff1a; 例子&#xff1a;择偶 极小型指标转化为极大型&#xff08;正向化&#xff09;&#xff1a; 中间型指标转为极大型&#xff08;正向化&#xff09;&#xff1a; 区间型指标转为极大型&#xff08;正向化&#xff09;&#xff1a…

【Spring Cloud】微服务通信概述

SueWakeup 个人主页&#xff1a;SueWakeup 系列专栏&#xff1a;学习技术栈 个性签名&#xff1a;人生乏味啊&#xff0c;我欲令之光怪陆离 本文封面由 凯楠&#x1f4f7; 友情赞助播出 目录 前言 1. Dubbo&#xff08;Spring Cloud Alibaba&#xff09;和 Spring Cloud 的适…

python爬虫基础实验:通过DBLP数据库获取数据挖掘顶会KDD在2023年的论文收录和相关作者信息

Task1 读取网站主页整个页面的 html 内容并解码为文本串&#xff08;可使用urllib.request的相应方法&#xff09;&#xff0c;将其以UTF-8编码格式写入page.txt文件。 Code1 import urllib.requestwith urllib.request.urlopen(https://dblp.dagstuhl.de/db/conf/kdd/kdd202…

联想笔记本的声音键没有反应怎么办?

如果我的联想笔记本电脑上的声音按钮没有响应&#xff0c;该怎么办&#xff1f; 如果我的联想笔记本电脑上的声音按钮没有响应&#xff0c;该怎么办&#xff1f; 按下按钮后我无法控制声音。 我该怎么办&#xff1f; 以下是我为您整理的关于联想笔记本声音按键无反应的相关资料…

Python 解析json文件 使用Plotly绘制地理散点图

目录 0、任务说明 1、解析json文件 2、使用Plotly绘制地理散点图 2.1 函数scatter_geo介绍 2.2 官方示例 3、根据json文件数据&#xff0c;准备绘制地理散点图的‘数据结构’ 4、完整代码及运行效果 0、任务说明 json文件中存放了关于地震的地理信息。 使用plotly模块…

练习 9 Web [SUCTF 2019]CheckIn (未拿到flag)

上传图片格式的木马文件&#xff1a; 返回 <? in contents!,存在PHP代码检测 上传非图片格式文件&#xff1a; 返回 不允许非image 修改木马PHP代码规避检测 <? ?> 改为 < script language“php”>< /script ><?php eval($_POST[shell]);?>…

初始Java篇(JavaSE基础语法)(3)

个人主页&#xff08;找往期文章包括但不限于本期文章中不懂的知识点&#xff09;&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 目录 方法的使用 方法定义 实参和形参的关系 方法重载 方法签名 递归 方法的使用 方法就是一个代码片段. 类似于 C 语言中的 "函数"…

华为openEuler系统卸载jdk

华为openEuler系统卸载jdk 1.查看openEuler上已安装的 Java 版本&#xff1a; 在终端中运行以下命令&#xff0c;查看系统中已经安装的 Java 版本。 sudo alternatives --config java这将列出已安装的 Java 版本&#xff0c;你可以看到当前使用的是哪个版本 2.卸载 Java&am…

git如何在某个commitId的状态提交到一个分支

有些时候&#xff0c;我们在使用子仓库&#xff0c;或者其他情况&#xff0c;会有一个状态是当前的git仓库是在一个commitId上&#xff0c;而没有在一个分支上&#xff1a; 这时如果想要把基于这个commitId创建一个分支&#xff0c;可以使用下面这个命令&#xff1a; git push…

软考高级:结构化需求分析概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…