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

centos7利docker compose 快速部署 Elasticsearch + Kibana

目录

  • 前言
  • 部署前准备
  • 部署
  • 验证服务状态

前言

  • 这一篇博客主要讲述Elasticsearch 和 Kibana 的部署,对docker不熟悉的朋友可以看下我的这篇博客docker基础,Elasticsearch 是一款强大的开源搜索引擎,一般与可视化工具 Kibana 配合使用,用于日志分析、数据检索等场景。通过 Docker Compose 可以快速搭建一套完整的 Elasticsearch + Kibana 环境。
  • 部署前确保Linux宿主机至少2GB内存,Elasticsearch比较吃内存,且已经安装 Docker 和 Docker Compose(建议 Docker 版本 ≥ 20.10,Compose 版本 ≥ 3.8)

部署前准备

  1. 在正式部署前,我建议先把Elasticsearch和Kibana的docker镜像先拉下来,建议直接从Elasticsearch官网拉取镜像,想部署哪个版本镜像最后直接指定版本就可以,我这次部署的是7.17.20版本,注意Elasticsearch、Kibana和lk分词器的版本要保持一致。执行docker命令

    # 拉取elasticsearch镜像
    docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.20
    # 拉取Kibana镜像
    docker pull docker.elastic.co/kibana/kibana:7.17.20
    
  2. 如果因为网络原因,或者配置的国内镜像仓库拉取不下来,直接按照我这篇博客Docker 拉取镜像:SSL 拦截与国内镜像源失效问题解决,配置一下阿里的镜像加速器就可以了。

  3. 从这个网址lk分词器中下载lk分词器,记得版本要保持一致。

  4. 创建主目录和数据卷目录,用于挂载Elasticsearch容器内的数据目录和插件目录

    # 创建主目录,进入主目录
    mkdir elasticsearch-docker && cd elasticsearch-docker# 创建 Elasticsearch 数据和插件目录
    mkdir -p elasticsearch/{data,plugins}
    
  5. 将下载的Ik分词器 压缩文件解压缩,将解压缩的目录放入 plugins数据卷目录中

  6. 手动修改宿主机挂载目录的权限,确保容器内用户有权限访问,这步很重要,一定要修改数据卷目录权限

    # 递归修改数据目录和插件目录的权限
    chmod -R 777 ./elasticsearch/data
    chmod -R 777 ./elasticsearch/plugins
    
  7. 为了避免 Elasticsearch 在运行时可能遇到的内存映射不足问题,建议提高系统的 vm.max_map_count值,这个配置值表示一个进程可以拥有的虚拟内存区域的数量,像 Elasticsearch、Apache Doris、Kafka这类高性能数据存储和搜索引擎应用,为了追求极致的I/O效率,会广泛使用内存映射文件技术来访问磁盘上的大量数据文件。

  8. 一般vm.max_map_count默认配置为65530,我们可以通过命令cat /proc/sys/vm/max_map_count查看配置。

  9. 编辑 /etc/sysctl.conf文件,在末尾添加一行 vm.max_map_count=262144,然后执行 sudo sysctl -p使配置立即生效

部署

  1. 在主目录中通过touch命令创建docker-compose.yml 配置文件,将下面文件内容复制进去,记得将我的中文注释删除,要不容器可能启动报错

    version: '3.8'
    services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.20container_name: elasticsearchenvironment:#设置 Elasticsearch 为单节点模式,适合开发和测试- discovery.type=single-node#为 Elasticsearch 分配堆内存- "ES_JAVA_OPTS=-Xms512m -Xmx512m"- cluster.name=es-docker-clustervolumes:#注意数据卷不要配置错,冒号前面的是宿主机数据卷目录,后面是挂载的容器内目录,冒号后面的不需要修改,只需配置对冒号前面的数据集目录- ./elasticsearch/data:/usr/share/elasticsearch/data  - ./elasticsearch/plugins:/usr/share/elasticsearch/pluginsports:- "9200:9200"- "9300:9300"networks:- elastickibana:image: docker.elastic.co/kibana/kibana:7.17.20container_name: kibanaenvironment:- ELASTICSEARCH_HOSTS=http://elasticsearch:9200- I18N_LOCALE=zh-CNports:- "5601:5601"depends_on:- elasticsearchnetworks:- elasticrestart: unless-stoppednetworks:elastic:driver: bridge
    
  2. 注意数据卷目录不要配置错,别忘了提前把IK分词器目录放到plugins数据卷目录中

  3. 端口冲突的改下端口,其他的就不要修改了。

  4. 在主目录(docker-compose.yml 同级目录)执行docker compose up -d,启动容器(有的是docker-compose up -d 自己提前确认下),通过docker compose ps 查看容器运行状态

验证服务状态

  • 用 docker-compose ps命令查看容器状态,确认两者均为 “Up”。
  • 访问 http://你的服务器IP:9200。如果浏览器返回包含 "you know, for search"的 JSON 信息,说明 Elasticsearch 已成功运行。
  • 访问 http://你的服务器IP:5601。稍等片刻(Kibana 启动需要一些时间),即可看到 Kibana 的 Web 界面
  • 根据下面的指示,进入elasticsearch的命令访问界面。
    在这里插入图片描述
  1. 执行下面的elasticsearch的解析指令,如果能正常返回分词数据,说明IK分词器插件也加载成功

    POST /_analyze
    {"analyzer": "ik_smart","text": "elastic真的太棒了"
    }
    

    在这里插入图片描述

http://www.dtcms.com/a/577719.html

相关文章:

  • 网站流量建设设计广告设计
  • 个体工商户可以搞网站建设免费人脉推广
  • 谷歌浏览器Google Chrome离线安装包
  • Profinet IO从站数据 转IEC104项目案例
  • 嵌入式学习笔记 - SH79F6441芯片之8051的寻址空间,位寻址与字节地址寻址
  • 项目推荐:BettaFish (微舆) - 当多智能体遇上“论坛”协作机制
  • 跑通Visual-RFT报错解决记录
  • 学习网站二次开发如何自己设置网站
  • 自定义配置打印参数,进行打印功能
  • 免费看电视的网站有哪些深圳响应式网站价格
  • 如何给网站划分栏目利用html5 监控网站性能
  • MySQL原生账号权限管理
  • C#中关于ContextMenuStrip批量添加Item的问题
  • 从线程基础到线程池
  • Android selinux policy单独编译与调试
  • XML介绍
  • 营销推广运营 网站wordpress关闭主循环
  • Linux MTD系统深度解析:从原理到实践
  • css第二天
  • Spring Boot 3.2 高性能架构实战:虚拟线程、原生镜像与响应式编程全解析
  • [vulhub靶机通关]DC-5(文件包含_sreen提权_)
  • 网站建设数据收集方法网站没建好可以备案吗
  • 返利网站开发计划书免费创建社区论坛网站
  • [Avoid-MPC] AvoidanceStateMachine | `Step`心跳函数 | Callback设计
  • Web 前端开发调试实战,从桌面浏览器到真机 WebView 的全链路可视化调试指南
  • FreeRTOS函数说明
  • 营销软件网站建设陕西省建设网官网首页
  • 网站团购功能怎么做wordpress移除工具栏
  • 确定性革命:从观察宇宙到编程现实
  • 【模板】二维前缀和 (牛客)