当前位置: 首页 > news >正文

docker-compose安装ElasticSearch,ik分词器插件,kibana【超详细】

1. 准备工作

确保你已经安装好了docker,docker-compose

2. 安装过程

  1. 创建docker-compose配置文件docker-compose-es-kibana-new.yml,确保yml格式,文件名称可任意修改,根据硬件配置修改参数"ES_JAVA_OPTS=-Xms512m -Xmx512m"
version: '3'
services:# Elasticsearch服务elasticsearch:image: elasticsearch:7.17.10container_name: elasticsearchenvironment:- discovery.type=single-node- "ES_JAVA_OPTS=-Xms512m -Xmx512m"- bootstrap.memory_lock=trueulimits:memlock:soft: -1hard: -1volumes:- ./elasticsearch/data:/usr/share/elasticsearch/data- ./elasticsearch/plugins:/usr/share/elasticsearch/plugins- ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.ymlports:- 9200:9200- 9300:9300networks:- elastic-netrestart: always# Kibana服务kibana:image: kibana:7.17.10container_name: kibanaenvironment:- ELASTICSEARCH_HOSTS=http://elasticsearch:9200ports:- 5601:5601depends_on:- elasticsearchnetworks:- elastic-netrestart: alwaysnetworks:elastic-net:driver: bridge
  1. 创建配置目录和配置文件
# 创建配置目录
mkdir elastic
cd elastic
# 创建docker挂载目录
mkdir -p elasticsearch/config
mkdir -p elasticsearch/data
mkdir -p elasticsearch/plugins
# 创建配置文件
cd elasticsearch/config/
vim elasticsearch.yml

2.1 配置文件内容

cluster.name: "docker-cluster"  # 集群名称,单节点时随意设置,但要唯一
network.host: 0.0.0.0  # 监听所有 IP 地址,允许外部访问# 允许跨域访问(CORS),如果你的应用需要从浏览器直接访问 ES
http.cors.enabled: true
http.cors.allow-origin: "*"
#
# # X-Pack 配置(Elasticsearch 的扩展功能)
xpack.license.self_generated.type: basic  # 使用基本许可证(免费版)
xpack.security.enabled: false  # 禁用安全功能(生产环境建议启用并配置密码)
xpack.monitoring.collection.enabled: true  # 启用监控数据收集

3. 安装ik分词器

  1. 浏览器访问 https://get.infini.cloud/elasticsearch/analysis-ik/7.17.10,下载后需要修改文件名,添加zip文件类型后缀,便于后续解压。
  2. 如果下载不成功,请参考github官网 https://github.com/infinilabs/analysis-ik/releases/,可能是下载的url发生了变化。
  3. 将分词插件压缩包上传到Linux系统中的elastic/elasticsearch/plugins路径下,该目录在第二步安装过程中已经创建,执行解压缩到ik目录下,并删除安装包。
unzip 7.17.10.zip  -d ik/
rm 7.17.10.zip

4. 启动容器

  1. 将docker-compose-es-kibana-new.yml上传至Linux系统中的elastic目录下,该目录在第2步中已创建,和elasticsearch目录平级
  2. 授予挂载目录data,config,plugins目录权限777
  3. 启动容器
docker-compose -f docker-compose-es-kibana-new.yml up -d
# 查看结果
docker ps
# 查看日志
docker-compose -f docker-compose-es-kibana-new.yml logs elasticsearch

5. 测试

  1. 验证Elasticsearch是否安装成功, 访问 http://你的服务器ip:9200 ,浏览器中显示Elasticsearch的基本信息。
  2. 验证Kibana是否安装成功, 访问 http://你的服务器ip:5601 ,显示Kibana页面。
  3. 验证分词器插件是否安装成功,Linux控制台中输入curl -X POST “localhost:9200/_analyze” -H “Content-Type: application/json” -d’{“analyzer”: “ik_smart”, “text”: “今天的天气真好”}’

结果显示:

{"tokens":[{"token":"今天","start_offset":0,"end_offset":2,"type":"CN_WORD","position":0},{"token":"的","start_offset":2,"end_offset":3,"type":"CN_CHAR","position":1},{"token":"天气","start_offset":3,"end_offset":5,"type":"CN_WORD","position":2},{"token":"真好","start_offset":5,"end_offset":7,"type":"CN_WORD","position":3}]}
http://www.dtcms.com/a/327780.html

相关文章:

  • 夜莺开源监控,模板函数一览
  • 集合,完整扩展
  • 任务调度系统设计与实现:Quartz、XXL-JOB 和 Apache Airflow 对比与实践
  • 【项目设计】高并发内存池
  • windows系统端口异常占用删除教程
  • Go面试题及详细答案120题(0-20)
  • [TryHackMe]Internal(hydra爆破+WordPress主题修改getshell+Chisel内网穿透)
  • 《Q————Mysql连接》
  • Linux软件编程:IO(二进制文件)、文件IO
  • 【25-cv-08993】T Miss Toys 启动章鱼宠物玩具版权维权,15 项动物玩偶版权均需警惕
  • 如何使用gpt进行模式微调(2)?
  • 使用Spring Boot对接欧州OCPP1.6充电桩:解决WebSocket连接自动断开问题
  • 无文件 WebShell攻击分析
  • php+apache+nginx 更换域名
  • SpringCloud 核心内容
  • 82. 删除排序链表中的重复元素 II
  • 计算机网络摘星题库800题笔记 第4章 网络层
  • “冒险玩家”姚琛「万里挑一」特别派对 打造全新沉浸式户外演出形式
  • Javase 之 字符串String类
  • 亚马逊手工制品类目重构:分类逻辑革新下的卖家应对策略与增长机遇
  • 高性能web服务器Tomcat
  • 嵌入式Linux内存管理面试题大全(含详细解析)
  • 元宇宙虚拟金融服务全景解析:技术创新、场景重构与未来趋势
  • 数据结构:链表栈的操作实现( Implementation os Stack using List)
  • LDAP 登录配置参数填写指南
  • 文件io ,缓冲区
  • 【智慧城市】2025年湖北大学暑期实训优秀作品(3):基于WebGIS的南京市古遗迹旅游管理系统
  • 简单的双向循环链表实现与使用指南
  • 小黑课堂计算机一级Office题库安装包2.93_Win中文_计算机二级考试_安装教程
  • 使用shell脚本执行需要root权限操作,解决APK只有系统权限问题