littlebot
Published on 2025-04-12 / 0 Visits
0

【源码】基于Docker的Elasticsearch和Kibana部署与数据导入工具

项目简介

本项目提供基于Docker的Elasticsearch和Kibana部署方案,结合Python和Logstash,实现从MySQL数据库到Elasticsearch的数据导入。借助Docker Compose,可快速搭建环境,使用Python脚本自动生成Logstash配置文件,实现数据自动化迁移。

项目的主要特性和功能

  1. Docker Compose部署:利用Docker Compose快速部署Elasticsearch和Kibana,简化环境搭建。
  2. Elasticsearch与Kibana集成:Elasticsearch作分布式搜索引擎,Kibana作可视化界面,提供强大搜索和可视化功能。
  3. 数据导入工具:Python脚本生成Logstash配置文件,支持从MySQL数据库或CSV文件导入数据到Elasticsearch。
  4. 自动化配置生成:依据MySQL数据库表结构自动生成Logstash配置文件,减少手动配置工作量。
  5. 支持中文分词:集成IK分词器,优化中文文本搜索和分析。

安装使用步骤

环境准备

  • 确保已安装Docker和Docker Compose。
  • 安装Python 3.x,并安装所需Python库(如pymysql)。

部署Elasticsearch和Kibana

  • 复制项目代码到本地。
  • 在项目根目录下运行以下命令启动Elasticsearch和Kibana: bash docker-compose up -d
  • 验证Elasticsearch和Kibana是否正常运行: bash curl http://localhost:9200 访问http://localhost:5601查看Kibana界面。

配置数据导入工具

  • config.json中配置MySQL数据库的连接信息,包括主机名、端口、用户名、密码、数据库名和表名。
  • 运行generate_conf目录下的Python脚本,生成Logstash配置文件: bash python generate_conf/generate_logstash_conf.py

执行数据导入

使用Logstash执行生成的配置文件,将数据从MySQL数据库导入到Elasticsearch: bash logstash -f /path/to/generated/logstash.conf

验证数据

在Kibana中创建索引模式,并验证数据是否成功导入。

中文分词器安装(可选)

如果需要使用IK分词器,可以进入Elasticsearch容器并安装IK分词器插件: bash docker exec -ti elasticsearch bash docker-compose restart elasticsearch

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】