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

docker 部署 ElasticSearch;Kibana

ELasticSearch

创建网络
docker network create es-net

ES配合Kibana使用时需要组网,使两者运行在同一个网络下

命令
docker run -d \
--name es \
-e "discovery.type=single-node" \
-v /usr/local/es/data:/usr/share/elasticsearch/data \
-v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \
--privileged=true \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1
解释
-d 				后台运行
--name	 		容器名称
-e				环境变量设置es为单节点
-v				容器内文件挂载到宿主机
--privileged	容器内root操作权限
-p				端口号映射
问题

通过 ip:9200 测试,应该返回下方的 JSON
在这里插入图片描述
但是,发现启动后自动退出,通过命令查看运行日志(看到了熟悉的 Java 堆栈,ES 是基于 Lucene 由 Java 实现的)。

docker logs es

报错:java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes
在这里插入图片描述

解决

问题是 /usr/share/elasticsearch/data/nodes 路径的权限问题,该路径是容器内路径。看run命令发现挂载到宿主机的 /usr/local/es/data 路径下,则将宿主机的文件操作权限调整为 777,再次尝试启动成功

chmod 777 /usr/local/es/data

Kibana

命令
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.12.1
解释
-e 			启动时配置参数 指定es服务地址和端口号
--network	编排到与es相同的网络
版本号		需要与es版本号一致

通过 ip:5601 进入 web 端,可以在 DevTool 中对 ES 执行 DSL 语句。

IK分词器

命令

进入docker 的 es 容器中

docker exec -it es /bin/bash
./bin/elasticsearch-plugin install \
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
exit
docker restart es
解释
-it 			将宿主机的标准输入以伪窗口的形式发送到 docker 容器 es 中(类似ssh连接到docker容器内部) 
/bin/bash		打开容器中的 bash
./bin/elasticsearch-plugin 	调用 es 插件功能
install			下载安装 github 的 IK 插件
exit 			退出伪窗口,回到宿主机的命令行
restart			重启es容器

警告信息,输入 y 继续
在这里插入图片描述
在Kibana的DevTools执行
在这里插入图片描述
结果,ik分词器安装成功
在这里插入图片描述

http://www.lryc.cn/news/418681.html

相关文章:

  • k8s使用kustomize来部署应用
  • 基于开源FFmpeg和SDL2.0的音视频解码播放和存储系统的实现
  • 保姆级教程,一文了解LVS
  • 【STM32】DMA数据转运(存储器到存储器)
  • 【Android】通过代码打开输入法
  • 爬虫集群部署:Scrapyd 框架深度解析
  • pytorch GPU操作事例
  • linux常见性能监控工具
  • C++ | Leetcode C++题解之第331题验证二叉树的前序序列化
  • 【多模态处理】利用GPT逐一读取本地图片并生成描述并保存,支持崩溃后从最新进度恢复
  • 【rk3588】获取相机画面
  • 数据结构的基本概念
  • AI人工智能机器学习
  • 试用AWS全新神器:Amazon Bedrock的「Open Artifacts」版Claude.ai Artifacts
  • W3C XML 活动
  • vue请求springboot接口下载zip文件
  • PySide6||QPushButton的QSS样式
  • HarmonyOS鸿蒙应用开发之ArkTS基本语法
  • Web开发-CSS篇-上
  • 在mac上通过 MySQL 安装包安装 MySQL 之后,终端执行 mysql 命令报错 command not found: mysql
  • Unity入门4——常用接口
  • 职业教育云计算实验实训室建设应用案例
  • MySQL-MHA高可用配置及故障切换
  • Sentinel 滑动时间窗口源码分析
  • 猎码安卓APP开发IDE,amix STUDIO中文java,HTML5开发工具
  • 【Deep-ML系列】Linear Regression Using Gradient Descent(手写梯度下降)
  • NVIDIA A100 和 H100 硬件架构学习
  • 企业研发设计协同解决方案
  • iOS 18(macOS 15)Vision 中新增的任意图片智能评分功能试玩
  • 如何实现若干子任务一损俱损--浅谈errgroup