docker-compose 安装elasticsearch

news/2025/3/16 19:57:11/文章来源:https://www.cnblogs.com/xingzr/p/18774604

安装版本 elasticsearch 8.14.1

拉取镜像

docker pull elasticsearch:8.14.1

如需安装kibana 需要拉取对应版本的kibana镜像

docker pull kibana:8.14.1

查看镜像是否安装成功

docker images

配置docker-compose.yaml

version: '3'
services:es:# 镜像名称image: elasticsearch:8.14.1# 容器名称container_name: esnetworks:- elastic# 端口映射ports:- "9200:9200"- "9300:9300"# 文件映射volumes:- ./data:/usr/share/elasticsearch/data # 数据- ./logs:/usr/share/elasticsearch/logs # 日志- ./plugins:/usr/share/elasticsearch/plugins # 插件- ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml # 配置文件# 环境配置environment:- "TZ=Asia/Shanghai"- "discovery.type=single-node" # 单节点- "ES_JAVA_OPTS=-Xms1g -Xmx1g" # 内存限制(按需配置)- "ELASTIC_PASSWORD=123456" # 密码(需要调用接口鉴权的时候配置)  用户名:elastic 密码:123456kibana:image: kibana:8.14.1container_name: kibananetworks:- elasticports:- "5601:5601"environment:- "I18N_LOCALE=zh-CN"- "ELASTICSEARCH_HOSTS=http://es:9200"# Kibana 连接 Elasticsearch 的账号密码,不可用于登录- "ELASTICSEARCH_USERNAME=kibana_system"- "ELASTICSEARCH_PASSWORD=123456"
networks:elastic:driver: bridge

elasticsearch.yml 配置文件

cluster.name: "docker-cluster"
network.host: 0.0.0.0
discovery.type: "single-node"
# 无需账号密码(需要配置为true)
xpack.security.enabled: false

运行docker-compose

docker-compose up -d es

此时会自动生成 data logs plugins 这几个文件

会发现elasticsearch无法启动,可能的原因是文件权限问题。Elasticsearch 使用的用户通常是 elasticsearch,而宿主机这几个文件夹是root用户,elasticsearch没有写入权限

解决方案1: 在宿主机上修改挂载文件夹的权限,使其对容器内的用户可访问。给data和logs 添加权限

chmod -R 777 data/ logs/ plugins/
docker-compose restart es

这样es容器就启动起来了,但可能存在安全风险,建议仅在开发环境中使用。

解决方案2:es容器使用elasticsearch 作为启动用户,他的用户和组id 为1000:1000,可在宿主机改变挂载文件夹所属用户和所属组再重启

chown -R 1000:0 data/ logs/ plugins/
docker-compose restart es

安装ik分词器

将对应版本的ik分词器解压放到plugins文件夹中 重启es容器,使用一下命令查看是否安装成功

curl http://localhost:9200/_cat/plugins

配置分词远程词库(默认拉取时间间隔为60秒)

cd ./plugins/ik/config

编辑配置文件 IKAnalyzer.cfg.xml 重启es容器

<?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"></entry><!--用户可以在这里配置自己的扩展停止词字典(不使用)--><entry key="ext_stopwords"></entry><!--用户可以在这里配置远程扩展字典如下 确保容器中可访问该链接 --><entry key="remote_ext_dict">http://xxx.xxx.xxx/stopwords.txt</entry><!--用户可以在这里配置远程扩展停止词字典如下 确保容器中可访问该链接 --><entry key="remote_ext_stopwords">http://xxx.xxx.xxx/stopwords.txt</entry>
</properties>

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

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

相关文章

求阶乘

关于最少尾数0的个数,只有2的倍数与5的倍数相乘才能得到0,显然2的倍数比5的倍数多的多,现在目标找5的倍数的个数#include<bits/stdc++.h> #define endl "\n" #define int long long #define x first #define y second using namespace std; typedef long lo…

Visual Studio Code-设置展示多行TAB页

Visual Studio Code-设置展示多行TAB页 一、ctrl + shift + p -> 打开工作区设置(Open Workspace Settings 二、输入 ‘workbench.editor.wrapTabs’

Git-git生成SSH密钥

Git-git生成SSH密钥 一、生成 SSH 密钥 如果你还没有生成 SSH 密钥,可以使用以下命令生成新的 SSH 密钥对: 这里 -t rsa 指定密钥类型为 RSA,-b 4096 指定密钥长度为 4096 位,-C 添加一个注释,通常是你的电子邮件地址。 ssh-keygen -t rsa -b 4096 -C "your_email@ex…

鲜花:《一种基于错误的寻找重心方法的点分治的复杂度分析》注

原文:一种基于错误的寻找重心方法的点分治的复杂度分析 LCA 还是太神了,研究半天才看明白。 所以这里提供一种说人话版本。 为什么法一是错的? 原文提出了这样一个 hack:这是三个等长度的共端点的链,初始以红色箭头所指的点为根。 进行第一次分治:红色箭头所指的点是重心…

SpringBoot的WebServlet的兼容

一.使用SpringBean注册JavaWeb的三大组件 在 Spring Boot 中,使用 @Bean 注册的 Servlet、Filter 和 Listener 组件会被加载到 Servlet 容器 中管理,而不是直接由 Spring 容器管理。然而,Spring Boot 提供了一些机制来确保这些组件能够与 Spring 容器无缝集成。Servlet 容器…

第二章课上练习

TempConvert.py TempStr = input("请输入带有符号的温度值:") if TempStr[-1] in [F,f]: C = (eval(TempStr[0:-1]) - 32)/1.8 print("转换后的温度是{:.2f}C".format(C)) elif TempStr[-1] in [C,c]: F = 1.8*eval(TempStr[0:-1])+32 print("转换后…

叠加等边三角形

import turtle 设置画布和画笔 screen = turtle.Screen() screen.bgcolor("white") # 设置背景颜色 pen = turtle.Turtle() pen.shape("turtle") # 设置画笔形状为小乌龟 pen.color("blue") # 设置画笔颜色 pen.pensize(2) # 设置画笔…

Citia Composer2024软件下载与安装教程

CATIA是法国达索公司的产品开发旗舰解决方案。作为PLM协同解决方案的一个重要组成部分,CATIA软件具有以下主要功能和应用领域:‌设计‌:提供从概念设计到最终产品形成的完整设计能力,支持2D、3D、参数化混合建模及数据管理‌3。 ‌分析‌:进行产品分析和仿真,确保设计的可…

Peach-Printer2.0 Web 打印服务解决方案

Peach-Printer1.0在沉寂许久后迎来了一个使用客户,非常感谢客户的支持和理解。 通过客户的使用反馈本人尝试对1.0版本进行完善修改,但始终打印效果未能实现预期。思索许久后决心更改打印控件的底层框架,重新设计打印组件。通过一段时间的摸索与研究终于在3月11日推出了第一个…